[razvan@ohio ~]$ python3 Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37) [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import numpy as np >>> a = np.array([1, 2, 3, 4]) >>> a array([1, 2, 3, 4]) >>> b = np.arange(5) >>> b array([0, 1, 2, 3, 4]) >>> b + 1 array([1, 2, 3, 4, 5]) >>> a.shape (4,) >>> np.arange(12) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) >>> a = np.arange(12) >>> a.reshape(3, 4) array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> a array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) >>> b = a.reshape(3, 4) >>> b.shape (3, 4) >>> a array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) >>> a.shape (12,) >>> a array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) >>> a.shape = 3, 4 >>> a array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> a.ravel() array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) >>> a array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> a.shape = 12, >>> a array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) >>> a.reshape(-1, 4) array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> a array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) >>> a.shape = 3, 4 >>> a array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> b array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> b = np.array(1, 1, 1) Traceback (most recent call last): File "", line 1, in ValueError: only 2 non-keyword arguments accepted >>> b = np.array([1, 1, 1]) >>> b array([1, 1, 1]) >>> b = np.ones(3) >>> b array([1., 1., 1.]) >>> b = np.ones(3, dtype = np.int8) >>> b array([1, 1, 1], dtype=int8) >>> b = np.ones(3) >>> b array([1., 1., 1.]) >>> a array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> a + b Traceback (most recent call last): File "", line 1, in ValueError: operands could not be broadcast together with shapes (3,4) (3,) >>> a.shape (3, 4) >>> b.shape (3,) >>> a.T array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]]) >>> a.T + b array([[ 1., 5., 9.], [ 2., 6., 10.], [ 3., 7., 11.], [ 4., 8., 12.]]) >>> l = [1, 2, 3) File "", line 1 l = [1, 2, 3) ^ SyntaxError: invalid syntax >>> l = [1, 2, 3] >>> t = (1, 2, 3) >>> l[0] = -1 >>> l [-1, 2, 3] >>> t[0] 1 >>> t[0] = -1 Traceback (most recent call last): File "", line 1, in TypeError: 'tuple' object does not support item assignment >>> 3 * t (1, 2, 3, 1, 2, 3, 1, 2, 3) >>> 3 * (1) 3 >>> 3 * (1,) (1, 1, 1) >>> a array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> a.T array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]]) >>> a.T.shape (4, 3) >>> b array([1., 1., 1.]) >>> b.shape (3,) >>> a.T + b array([[ 1., 5., 9.], [ 2., 6., 10.], [ 3., 7., 11.], [ 4., 8., 12.]]) >>> X = a.T >>> X array([[ 0, 4, 8], [ 1, 5, 9], [ 2, 6, 10], [ 3, 7, 11]]) >>> X.min() 0 >>> X.min(axis = 0) array([0, 4, 8]) >>> min >>> min = X.min(axis = 0) >>> min array([0, 4, 8]) >>> max = X.max(axis = 0) >>> max array([ 3, 7, 11]) >>> np.random.shuffle(X) >>> X array([[ 3, 7, 11], [ 1, 5, 9], [ 0, 4, 8], [ 2, 6, 10]]) >>> min = X.min(axis = 0) >>> max = X.max(axis = 0) >>> min array([0, 4, 8]) >>> max array([ 3, 7, 11]) >>> min.shape (3,) >>> X - min array([[3, 3, 3], [1, 1, 1], [0, 0, 0], [2, 2, 2]]) >>> max - min array([3, 3, 3]) >>> (X - min) / (max - min) array([[1. , 1. , 1. ], [0.33333333, 0.33333333, 0.33333333], [0. , 0. , 0. ], [0.66666667, 0.66666667, 0.66666667]]) >>> X array([[ 3, 7, 11], [ 1, 5, 9], [ 0, 4, 8], [ 2, 6, 10]]) >>> X.min(axis=0) array([0, 4, 8]) >>> X.argmin(axis=0) array([2, 2, 2]) >>> X = np.random.random(12) >>> X array([0.71837621, 0.90443592, 0.92950349, 0.99297252, 0.95578164, 0.76235967, 0.41015834, 0.68023226, 0.6819877 , 0.89050657, 0.37855087, 0.15034446]) >>> X.shape = 4, 3 >>> X array([[0.71837621, 0.90443592, 0.92950349], [0.99297252, 0.95578164, 0.76235967], [0.41015834, 0.68023226, 0.6819877 ], [0.89050657, 0.37855087, 0.15034446]]) >>> X.argmin(axis=0) array([2, 3, 3]) >>> W = np.random.random(30).rehsape(3, -1) Traceback (most recent call last): File "", line 1, in AttributeError: 'numpy.ndarray' object has no attribute 'rehsape' >>> W = np.random.random(30).reshape(3, -1) >>> W array([[0.99475734, 0.55428205, 0.58548814, 0.80763834, 0.28555463, 0.90708438, 0.14192279, 0.16564552, 0.19466479, 0.96587993], [0.97781482, 0.29174689, 0.70652168, 0.36166073, 0.85756781, 0.06544065, 0.40766747, 0.37173832, 0.92486188, 0.96720715], [0.96922306, 0.2144513 , 0.29514287, 0.87003537, 0.91099423, 0.34959078, 0.50505939, 0.94737582, 0.7710913 , 0.9439845 ]]) >>> logits = X @ W >>> logits.shape (4, 10) >>> c = logits.max(axis = 1) >>> c.shape (4,) >>> c array([2.49987707, 2.66124073, 1.73414741, 1.40170791]) >>> a.T array([[ 3, 7, 11], [ 1, 5, 9], [ 0, 4, 8], [ 2, 6, 10]]) >>> c.T array([2.49987707, 2.66124073, 1.73414741, 1.40170791]) >>> c.shape (4,) >>> c.T.shape (4,) >>> c.shape = 4, 1 >>> c array([[2.49987707], [2.66124073], [1.73414741], [1.40170791]]) >>> newl = logits - c >>> newl array([[ 0. , -1.63849444, -1.16593641, -0.78388904, -0.67235399, -1.4641165 , -1.55975954, -1.16407865, -0.80682416, -0.05379814], [ 0. , -1.66851855, -1.17958163, -0.85032949, -0.86354001, -1.43146998, -1.7456373 , -1.4192175 , -0.99612903, -0.05805396], [ 0. , -1.16209521, -0.81212192, -0.5635211 , -0.41239265, -1.07916773, -1.05418373, -0.76723946, -0.49930835, -0.03627238], [ 0. , -0.76543351, -0.56849939, -0.41478869, -0.68582367, -0.51661166, -1.04506897, -0.97104492, -0.76232106, -0.03352555]]) >>> exp Traceback (most recent call last): File "", line 1, in NameError: name 'exp' is not defined >>> exp = np.exp(newl) >>> exp array([[1. , 0.19427231, 0.31163071, 0.45662671, 0.51050544, 0.23128224, 0.21018661, 0.31221018, 0.44627311, 0.94762338], [1. , 0.18852615, 0.30740732, 0.42727413, 0.42166673, 0.2389574 , 0.17453372, 0.24190323, 0.36930625, 0.94359903], [1. , 0.31283005, 0.44391511, 0.56920132, 0.66206426, 0.33987828, 0.34847676, 0.464293 , 0.60695031, 0.96437758], [1. , 0.46513225, 0.56637471, 0.66047983, 0.5036752 , 0.5965384 , 0.35166756, 0.37868713, 0.4665822 , 0.96703021]]) >>> sums = exp.sum(axis = 1) >>> sums.shape (4,) >>> sums array([4.62061069, 4.31317397, 5.71198667, 5.9561675 ]) >>> probs = exp / sums.reshape(4, 1) >>> propbs Traceback (most recent call last): File "", line 1, in NameError: name 'propbs' is not defined >>> probs array([[0.21642161, 0.04204473, 0.06744362, 0.09882389, 0.11048441, 0.05005447, 0.04548892, 0.06756903, 0.09658314, 0.20508618], [0.23184782, 0.04370938, 0.07127172, 0.09906258, 0.09776251, 0.05540175, 0.04046526, 0.05608474, 0.08562285, 0.21877138], [0.17507044, 0.05476729, 0.07771641, 0.09965032, 0.11590788, 0.05950264, 0.06100798, 0.08128398, 0.10625906, 0.168834 ], [0.1678932 , 0.07809254, 0.09509046, 0.11089007, 0.08456364, 0.10015474, 0.05904259, 0.06357899, 0.07833598, 0.16235779]]) >>> probs.sum(axis = 1) array([1., 1., 1., 1.]) >>>