Chainer備忘録1
このあたりを参照してPythonの環境を整える qiita.com
3章 Chainerの使い方 3.4 optimizers 損失関数に入力している(x,y) についてshapeの記載がないが、 ここは In [42]: x.shape Out[42]: (3, 4) In [43]: y.shape Out[43]: (3, 3)
import chainer from chainer import cuda, Function, gradient_check, Variable, optimizers, serializers, utils from chainer import Link, Chain, ChainList import chainer.functions as F import chainer.links as L class MyChain(Chain): def __init__(self): super(MyChain, self).__init__( l1 = L.Linear(4,3), l2 = L.Linear(3,3), ) def __call__(self, x, y): fv = self.fwd(x, y) loss = F.mean_squared_error(fv, y) return loss def fwd(self, x, y): return F.sigmoid(self.l1(x)) x = Variable(np.array(range(12)).astype(np.float32).reshape(3,4)) y = Variable(np.array(range(9)).astype(np.float32).reshape(3,3)) mymodel = MyChain() optimizer = optimizers.SGD() optimizer.setup(model) model.zerograds() loss = model(x,y) loss.backward() optimizer.update()