※現在、ブログ記事を移行中のため一部表示が崩れる場合がございます。
順次修正対応にあたっておりますので何卒ご了承いただけますよう、お願い致します。
# Set data
from sklearn import datasets
iris = datasets.load_iris()
xtrain = iris.data.astype(np.float32)
# Initialize model
model = MyAE()
optimizer = optimizers.SGD()
optimizer.setup(model)
ここまで用意ができたら、ループを回して延々と学習するだけであり、その処理は今までとほとんど同じである。# Learn
losslist = []
for j in range(5000):
x = Variable(xtrain)
model.cleargrads() # model.zerograds() 非推奨
loss = model(x)
if j%1000 == 999:
print( "%6d %10.6f" % (j, loss.data) )
losslist.append(loss.data) # 誤差をリストに追加
loss.backward()
optimizer.update()
今回は、誤差が徐々に縮まっていくところをグラフ化してみよう。# 誤差グラフの表示
plt.plot(losslist)
plt.savefig("irisautoencodeloss.png")
plt.show()