前提・実現したいこと
chainerを使って機械学習の勉強をしています。
多層パーセプトロンによるMNISTの分類を行うプログラムです。
発生している問題・エラーメッセージ
エラーメッセージ /home/antec/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`. from ._conv import register_converters as _register_converters usage: test2.py [-h] [--model MODEL] [--mean MEAN] image test2.py: error: the following arguments are required: image 一昨日まで問題なく動いたのですが、急にこのエラーが出るようになり、他のchainerを使ったプログラムについても同じエラーが出るようになりました。
該当のソースコード
import numpy as np import chainer import chainer.functions as F #主な関数のインポート import chainer.links as L #functionのアドオン from chainer import Variable,optimizers,Chain #Variable:ノードに対応 optimizers:最適化関数たち train, test = chainer.datasets.get_mnist(ndim=3) class Model(Chain): def __init__(self): super(Model, self).__init__( l1=L.Linear(784,100), l2=L.Linear(100,100), l3=L.Linear(100,10), ) def __call__(self, x): h = F.relu(self.l1(x)) h = F.relu(self.l2(h)) return self.l3(h) model = L.Classifier(Model()) #インスタンス化 #最適化の設定 optimizer = optimizers.MomentumSGD(lr=0.01, momentum=0.9) optimizer.setup(model) batchsize = 1000 def conv(batch,batchsize): x=[] t=[] for j in range(batchsize): x.append(batch[j][0]) t.append(batch[j][1]) return Variable(np.array(x)),Variable(np.array(t)) for n in range(20): for i in chainer.iterators.SerialIterator(train, batchsize,repeat=False): x,t = conv(i,batchsize) model.zerograds() loss = model(x,t) loss.backward() #誤差逆伝播法 optimizer.update() i = chainer.iterators.SerialIterator(test,batchsize,repeat=False).next() x,t = conv(i,batchsize) loss = model(x,t) print(n,loss.data)
##試したこと
import numpy as np
import chainer
のみのプログラムを作って実行したところ同様のエラーが出ました。
import numpy as np
import chainer.functions as F
のみ
import numpy as np
import chainer.links as L
のみのプログラムに関しても同様のエラーが出ました。
補足情報(FW/ツールのバージョンなど)
python 3.6.4
chainer 4.0.0
あなたの回答
tips
プレビュー