以下のプログラムを動かそうとしています。
phyton
1# optimizerimport argparse 2from functools import partial 3from pathlib import Path 4 5from chainer import cuda 6from chainer import optimizers 7from chainer import training 8from chainer.dataset import convert 9from chainer.iterators import MultiprocessIterator 10from chainer.training import extensions 11from chainerui.utils import save_args 12 13from become_yukarin.config.config import create_from_json 14from become_yukarin.dataset import create as create_dataset 15from become_yukarin.model.model import create 16from become_yukarin.updater.updater import Updater 17 18parser = argparse.ArgumentParser() 19parser.add_argument('config_json_path', type=Path) 20parser.add_argument('output', type=Path) 21arguments = parser.parse_args() 22 23config = create_from_json(arguments.config_json_path) 24arguments.output.mkdir(exist_ok=True) 25config.save_as_json((arguments.output / 'config.json').absolute()) 26 27# model 28if config.train.gpu >= 0: 29 cuda.get_device_from_id(config.train.gpu).use() 30predictor, discriminator = create(config.model) 31models = { 32 'predictor': predictor, 33 'discriminator': discriminator, 34} 35 36# dataset 37dataset = create_dataset(config.dataset) 38train_iter = MultiprocessIterator(dataset['train'], config.train.batchsize) 39test_iter = MultiprocessIterator(dataset['test'], config.train.batchsize, repeat=False, shuffle=False) 40train_eval_iter = MultiprocessIterator(dataset['train_eval'], config.train.batchsize, repeat=False, shuffle=False) 41 42 43def create_optimizer(model): 44 optimizer = optimizers.Adam(alpha=0.0002, beta1=0.5, beta2=0.999) 45 optimizer.setup(model) 46 return optimizer 47 48 49opts = {key: create_optimizer(model) for key, model in models.items()} 50 51# updater 52converter = partial(convert.concat_examples, padding=0) 53updater = Updater( 54 loss_config=config.loss, 55 predictor=predictor, 56 discriminator=discriminator, 57 device=config.train.gpu, 58 iterator=train_iter, 59 optimizer=opts, 60 converter=converter, 61) 62 63# trainer 64trigger_log = (config.train.log_iteration, 'iteration') 65trigger_snapshot = (config.train.snapshot_iteration, 'iteration') 66 67trainer = training.Trainer(updater, out=arguments.output) 68 69ext = extensions.Evaluator(test_iter, models, converter, device=config.train.gpu, eval_func=updater.forward) 70trainer.extend(ext, name='test', trigger=trigger_log) 71ext = extensions.Evaluator(train_eval_iter, models, converter, device=config.train.gpu, eval_func=updater.forward) 72trainer.extend(ext, name='train', trigger=trigger_log) 73 74trainer.extend(extensions.dump_graph('predictor/loss')) 75 76ext = extensions.snapshot_object(predictor, filename='predictor_{.updater.iteration}.npz') 77trainer.extend(ext, trigger=trigger_snapshot) 78 79trainer.extend(extensions.LogReport(trigger=trigger_log)) 80 81save_args(arguments, arguments.output) 82trainer.run() 83
結果こうなりました。
cmd
1train.py 2C:\Users\KHB15\Anaconda3\lib\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`. 3 from ._conv import register_converters as _register_converters 4Traceback (most recent call last): 5 File "C:\become-yukarin\become-yukarin\train.py", line 19, in <module> 6 parser = argparse.ArgumentParser() 7NameError: name 'argparse' is not defined
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
.のエラーとNameError: name 'argparse' is not definedのエラーにこまっています。どうすれば良いでしょうか?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
.のエラーに関しては、pip install h5py==2.8.0rc1で出なくなりました。NameError: name 'argparse' is not definedのエラーにこまっています。どうすれば良いでしょうか?
回答1件
あなたの回答
tips
プレビュー