質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.44%
Chainer

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

1回答

519閲覧

TypeError: invalid file: None

shinww

総合スコア4

Chainer

Chainerは、国産の深層学習フレームワークです。あらゆるニューラルネットワークをPythonで柔軟に書くことができ、学習させることが可能。GPUをサポートしており、複数のGPUを用いた学習も直感的に記述できます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2022/10/06 07:49

編集2022/10/11 05:48

Chainerでの機械学習

Chainerでの機械学習の実装中でしたが、コマンドプロンプトでpython train_imagenet.py -g 0 train.txt test.txt (2>&1 | tee log)と打ち込んだ際にエラーが出てしまいました。インターネットなどで調べましたがどうすればいいか分かりませんでした。
初歩的な問題だと思いますがどうかよろしくお願いします。

※文字数の都合上後半のコードを省いてあります。

python

1エラーメッセージ 2File "train_imagenet.py", line 96, in <module> 3 train_list = load_image_list(args.train, args.root) 4 File "train_imagenet.py", line 89, in load_image_list 5 for line in open(path): 6TypeError: invalid file: None 7 8 9 10 11 12ソースコード 13train_imagenet.py 14 15 16parser = argparse.ArgumentParser(description='Learning convnet from ILSVRC2012 dataset') 17 18parser.add_argument('--train', help='Path to training image-label list file') 19parser.add_argument('--val', help='Path to validation image-label list file') 20 21parser.add_argument('--mean', '-m', default='mean.npy', 22 help='Path to the mean file (computed by compute_mean.py)') 23 24parser.add_argument('--arch', '-a', default='nin', 25 help='Convnet architecture \ 26 (nin, alex, alexbn, googlenet, googlenetbn)') 27parser.add_argument('--batchsize', '-B', type=int, default=32, 28 help='Learning minibatch size') 29parser.add_argument('--val_batchsize', '-b', type=int, default=250, 30 help='Validation minibatch size') 31parser.add_argument('--epoch', '-E', default=50, type=int, 32 help='Number of epochs to learn') 33parser.add_argument('--gpu', '-g', default=-1, type=int, 34 help='GPU ID (negative value indicates CPU)') 35parser.add_argument('--loaderjob', '-j', default=20, type=int, 36 help='Number of parallel data loading processes') 37parser.add_argument('--root', '-r', default='.', 38 help='Root directory path of image files') 39parser.add_argument('--out', '-o', default='model', 40 help='Path to save model on each validation') 41parser.add_argument('--outstate', '-s', default='state', 42 help='Path to save optimizer state on each validation') 43parser.add_argument('--initmodel', default='', 44 help='Initialize the model from given file') 45parser.add_argument('--resume', default='', 46 help='Resume the optimization from snapshot') 47parser.add_argument('--test', dest='test', action='store_true') 48parser.set_defaults(test=False) 49args = parser.parse_args(args=[]) 50if args.gpu >= 0: 51 cuda.check_cuda_available() 52xp = cuda.cupy if args.gpu >= 0 else np 53 54assert 50000 % args.val_batchsize == 0 55 56if args.test: 57 denominator = 1 58else: 59 denominator = 100000 60 61# Prepare dataset 62train_list = load_image_list(args.train, args.root)  **** 63 64val_list = load_image_list(args.val, args.root) 65 66mean_image = np.load(args.mean)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2022/10/06 08:10

このままではコードが読めないので、質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
jbpb0

2022/10/07 04:01

pythonのコードの一番最初の行のすぐ上に ```python だけの行を追加してください また、pythonのコードの一番最後の行のすぐ下に ``` だけの行を追加してください または、 https://teratail.storage.googleapis.com/uploads/contributed_images/56957fe805d9d7befa7dba6a98676d2b.gif を見て、そのようにしてみてください 現状、コードがとても読み辛いです 質問にコードを載せる際に上記をやってくれたら、他人がコードを読みやすくなり、コードの実行による現象確認もやりやすくなるので、回答されやすくなります
jbpb0

2022/10/07 06:06

> train_list = load_image_list(args.train, args.root) のすぐ上に print(args.train) を追加して実行したら、「train.txt」ではなく「None」と表示されませんでしょうか? もし「None」と表示されるなら、コードを args = parser.parse_args(args=[]) ↓ 修正 args = parser.parse_args() と変えてから、コマンドプロンプトで python train_imagenet.py -g 0 --train train.txt --val test.txt と実行してみてください
shinww

2022/10/07 09:02

print(args.train)を追加したところ、Noneと表示されたのでコードを修正すると Traceback (most recent call last): File "train_imagenet.py", line 96, in <module> mean_image = np.load(args.mean) File "C:\Program Files\Python37\lib\site-packages\numpy\lib\npyio.py", line 445, in load raise ValueError("Cannot load file containing pickled data " ValueError: Cannot load file containing pickled data when allow_pickle=False というエラーが出てしまいました。
jbpb0

2022/10/07 10:01

この質問の > train_list = load_image_list(args.train, args.root) のエラーが直ったので、それよりもちょっと下の > mean_image = np.load(args.mean) まで処理が進んで、そこで別のエラーが出たのです 内容が違うので、別の質問にしてください
guest

回答1

0

ベストアンサー

python

1args = parser.parse_args(args=[])

↓ 修正

python

1args = parser.parse_args()

と変えてから、コマンドプロンプトで

cmd

1python train_imagenet.py -g 0 --train train.txt --val test.txt

と実行

投稿2022/10/07 09:56

jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.44%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問