我正在尝试运行一个带有超参数优化的gcloud ml-engine训练任务。在gcloud命令行中,我指向一个包含要调优的超参数的类型,这些超参数被标记为“config.yaml : INTEGER”。但是,在训练作业期间,我收到一个错误,表明这些值是以字符串而不是整数的形式返回的。
当程序第一次尝试将超参数的变量替换为该特定试验的值时,就会出现该错误。
具体地说,它返回“140”,而不是指向args.seq_len的变量SEQ_LEN的140。
Command '['python', '-m', u'trainer.task', u'--learning-rate', u'0.0015826983878389717', u'--num-layers', u'9', u'--num-epochs', u'20', u'--scale-factor', u'0.4453220449907912', u'--third-layer-size', u'259', u'--first-layer-size', u'209', u'--train-batch-size', u'43', u'--second-layer-size', u'194', u'--seq-len', u'140', '--job-dir', 'gs://ben-lstm-test/models/LTCUSD___BTCUSD_ETHUSD_BCHUSD/2']' returned non-zero exit status 1.我在这里做错了什么?命令行似乎受到了re.split或其他东西的影响。这有关系吗?
发布于 2019-04-11 23:27:20
愚蠢的错误。ArgumentParser中的序列参数缺少"type=int“。问题解决了。
https://stackoverflow.com/questions/55498777
复制相似问题