はじめまして。当方python初心者です。
現在こちらのサイトの作業を行なっているのですが
『ChainerのNINで自分の画像セットを深層学習させて認識させる』
http://d.hatena.ne.jp/shi3z/20150709
$ python train_imagenet.py -g 0 -E 20000 train.txt test.txt 2>&1 | tee log
こちらを実行させたところ
Traceback (most recent call last):
File "train_imagenet.py", line 66, in <module>
mean_image = pickle.load(open(args.mean, 'rb'))
EOFError: Ran out of input
と表示されます。
使用環境は Python 3.5.2 :: Anaconda 4.2.0 (x86_64) です。
よろしくお願いします。
追記
こちらの記事を見つけ、
「ChainerでcPickle.UnpicklingError」
https://qiita.com/shota_hayashi/items/4a488931ab88f45cfa55
エラー内容は違うものの実行しましたが
File "train_imagenet.py", line 67, in <module>
mean_image = np.load(args.mean)
File "~/site-packages/numpy/lib/npyio.py", line 392, in load
fid.seek(-N, 1) # back-up
IOError: [Errno 22] Invalid argument
というエラーがでます。
追記2
上記の部分
mean_image = np.genfromtxt('mean.npy')
に書き換えたところ、なんとか実行されました。しかし、
`~/.pyenv/versions/anaconda3-4.2.0/lib/python3.5/site-packages/numpy/lib/npyio.py:1487: UserWarning: genfromtxt: Empty input file: "mean.npy"warnings.warn('genfromtxt: Empty input file: "%s"' % fname)`
というエラーがでます。(エラーがでますが、ターミナルでは実行されたままです。)
train_imagenet.pyのtrain_loop()
で問題が起こっているようです。
上記の件、併せてよろしくお願いします。
追記3
恐らく解決しました。
こちらの実行の直前で生成したmean.npy
というファイルが0バイトとなっており、生成し直したところエラーがなく実行し始めました。
GPUを使用していないために、epoch 1ですがかなり時間がかかっていて(learning rate 0.01)不安ですが、とりあえずエラー無しで実行しています。
上記問題となったところは
mean_image = np.load(open(args.mean,'rb'))
このように記述して、通りました。
追記:移動してくださった方ありがとうございます!
追記2:編集ありがとうございます!見やすくなりました!