SJE/2015/ex08
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*SJE2015 ex08 [#sf604516]
**課題A [#h6665926]
[[SJE/2015/ex05]] 課題A のプログラムをより汎用に使えるよ...
***step1 [#h423a90c]
+ 以下のプログラムの fnCat と fnFace の所を自分の環境に合...
+ そのプログラムの動作を眺めて(ipythonで動かして,いろい...
++ まずは,getData の戻り値 X と label が何を表しているの...
++ main の側では,getData の戻り値から,X と lab を学習用...
#pre{{
import numpy as np
import cv2
def getData():
fnCat = '../cat/cat%03d.png'
fnFace = '../face100/hoge%03d.png'
X = np.empty( ( 131 + 100, 64 * 64 ) )
label = np.empty( 131 + 100, dtype = int )
for i in range( 131 ):
img = cv2.imread( fnCat % i, cv2.IMREAD_GRAYSCALE )
X[i, :] = img.reshape( -1 )
label[i] = 0
for i in range( 100 ):
img = cv2.imread( fnFace % i, cv2.IMREAD_GRAYSCAL...
X[i + 131, :] = img.reshape( -1 )
if i < 50:
label[i + 131] = 1
else:
label[i + 131] = 2
return X, label
if __name__ == '__main__':
X, lab = getData()
print X.shape, lab.shape
idxL = np.arange( X.shape[0], dtype = int ) % 2 == 0
print idxL
XL, labL = X[idxL], lab[idxL]
ndatL = XL.shape[0]
XT, labT = X[-idxL], lab[-idxL]
ndatT = XT.shape[0]
print ndatL, ndatT
}}
**step2 [#w2bcbf82]
上記のプログラムを利用して,[[SJE/2015/ex05]] の最短距離...
ヒント:
#pre{{
In [26]: labL == 0
Out[26]:
array([ True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, False, False, False, False, F...
False, False, False, False, False, False, False, F...
False, False, False, False, False, False, False, F...
False, False, False, False, False, False, False, F...
False, False, False, False, False, False, False, F...
False, False, False, False, False, False, False, F...
In [27]: hoge = XL[labL == 0, :]
In [28]: hoge.shape
Out[28]: (66, 4096)
In [29]: np.mean(hoge, axis = 0)
}}
終了行:
*SJE2015 ex08 [#sf604516]
**課題A [#h6665926]
[[SJE/2015/ex05]] 課題A のプログラムをより汎用に使えるよ...
***step1 [#h423a90c]
+ 以下のプログラムの fnCat と fnFace の所を自分の環境に合...
+ そのプログラムの動作を眺めて(ipythonで動かして,いろい...
++ まずは,getData の戻り値 X と label が何を表しているの...
++ main の側では,getData の戻り値から,X と lab を学習用...
#pre{{
import numpy as np
import cv2
def getData():
fnCat = '../cat/cat%03d.png'
fnFace = '../face100/hoge%03d.png'
X = np.empty( ( 131 + 100, 64 * 64 ) )
label = np.empty( 131 + 100, dtype = int )
for i in range( 131 ):
img = cv2.imread( fnCat % i, cv2.IMREAD_GRAYSCALE )
X[i, :] = img.reshape( -1 )
label[i] = 0
for i in range( 100 ):
img = cv2.imread( fnFace % i, cv2.IMREAD_GRAYSCAL...
X[i + 131, :] = img.reshape( -1 )
if i < 50:
label[i + 131] = 1
else:
label[i + 131] = 2
return X, label
if __name__ == '__main__':
X, lab = getData()
print X.shape, lab.shape
idxL = np.arange( X.shape[0], dtype = int ) % 2 == 0
print idxL
XL, labL = X[idxL], lab[idxL]
ndatL = XL.shape[0]
XT, labT = X[-idxL], lab[-idxL]
ndatT = XT.shape[0]
print ndatL, ndatT
}}
**step2 [#w2bcbf82]
上記のプログラムを利用して,[[SJE/2015/ex05]] の最短距離...
ヒント:
#pre{{
In [26]: labL == 0
Out[26]:
array([ True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, True, True, True, True, ...
True, True, True, False, False, False, False, F...
False, False, False, False, False, False, False, F...
False, False, False, False, False, False, False, F...
False, False, False, False, False, False, False, F...
False, False, False, False, False, False, False, F...
False, False, False, False, False, False, False, F...
In [27]: hoge = XL[labL == 0, :]
In [28]: hoge.shape
Out[28]: (66, 4096)
In [29]: np.mean(hoge, axis = 0)
}}
ページ名: