【人工知能のつくりかた】Numpyを学ぶ【Python/Numpy】
テンソルとブロードキャスト
Numpyといえばnumpy.array
以下のファイルを作成(pythonインタプリタでの実行でも大丈夫)
■numpy.py
# import numpy import numpy as np # create numpay array x = np.array([1,2,4,5,6,7,8,12,30]) y = np.array([1,2,4,5,6,7,8,12,30]) # tensor w = np.array([[1,4],[5,13]]) z = np.array([[0,1],[10,10]]) # 1 print(x) # 2 print(x[x>=8]) # 3 print(x[x%2 == 0]) # 4 print(x + y) # 5 print(w + z) # 6 print(w * 10) # 7 print(w[0][1])
ファイル作成後に、実行
$ python numpy.py
■実行結果
[ 1 2 4 5 6 7 8 12 30]
[ 8 12 30]
[ 2 4 6 8 12 30]
[ 2 4 8 10 12 14 16 24 60]
[[ 1 5]
[15 23]][[ 10 40]
[ 50 130]]4
■解説
①print(x)
全部表示
[ 1 2 4 5 6 7 8 12 30]
②print(x[x>=8])
8以上の値だけ表示
[ 8 12 30]
③print(x[x%2 == 0])
偶数だけ表示
[ 2 4 6 8 12 30]
④print(x + y)
Numpy配列同士の足し算。
各要素同士で足し算してくれる。
[ 2 4 8 10 12 14 16 24 60]
⑤print(w + z)
wとzはN次元配列でtensor(テンソル)と呼ばれる。
tensorFlowのtensorはこのこと。
テンソルの場合も各要素同士での足し算が可能。
[[ 1 5]
[15 23]]
⑥print(w * 10)
テンソルと数値の掛け算。
テンソルの各要素に数値が掛け算された結果が出力された。
ブロードキャストっていう機能。
[[ 10 40]
[ 50 130]]
⑦print(w[0][1])
テンソルへのアクセス。
まず「w」は
[[1 4]
[5 13]]
だから、w[0]とした時に
[1 4] ( = sとする)
が取得できる。sに対して2つめの要素を取得しにくので
s[1] = [1 4][1] = 4
となる。
4
今回はここまで。
Numpyの基本を扱った。
pythonは2.7を使ったけど、3系にしたい。
今後3系をインストールして、pythonのバージョン管理を
ここを参考に環境構築する予定。