【问题标题】:How to specify model directory in Floydhub?如何在 Floydhub 中指定模型目录?
【发布时间】:2017-12-22 20:58:08
【问题描述】:

我是 Floydhub 的新手。我正在尝试从this github repository 和相应的教程运行代码。

为了训练,我成功使用了这个命令:

 floyd run --gpu --env tensorflow-1.2 --data janinanu/dataset 
 /data/2:tut_train 'python udc_train.py'

我在培训文件中调整了这一行以在 Floydhub 中工作:

tf.flags.DEFINE_string("input_dir", "/tut_train", "Directory containing 
input data files 'train.tfrecords' and 'validation.tfrecords'")

如前所述,这对培训没有问题。

现在进行测试,我并没有找到有关如何指定存储训练输出的模型目录的任何详细信息。我使用 model_dir 作为安装点安装了训练的输出。我假设正确的命令应该是这样的:

floyd run --cpu --env tensorflow-1.2 --data janinanu/datasets
/data/2:tut_test --data janinanu/projects/retrieval-based-dialogue-system-
on-ubuntu-corpus/18/output:model_dir 'python udc_test.py     
--model_dir=?' 

我不知道在--model_dir=? 中添加什么

相应地,我假设我必须在测试文件中调整一些行:

tf.flags.DEFINE_string("test_file", "/tut_test/test.tfrecords", "Path of   
test data in TFRecords format")
tf.flags.DEFINE_string("model_dir", "/model_dir", "Directory to load model    
checkpoints from")

...以及在火车文件中(虽然不确定...):

tf.flags.DEFINE_string("input_dir", "/tut_train", "Directory containing  
input data files 'train.tfrecords' and 'validation.tfrecords'")
tf.flags.DEFINE_string("model_dir", "/model_dir", "Directory to store   
model checkpoints (defaults to /model_dir)")

当我使用例如--model_dir=/model_dir 和上面调整的代码,我得到这个错误:

2017-12-22 12:17:49,048 INFO - return func(*args, **kwargs)
2017-12-22 12:17:49,048 INFO - File "/usr/local/lib/python3.5/site-       
packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", 
line 543, in evaluate
2017-12-22 12:17:49,048 INFO - log_progress=log_progress)
2017-12-22 12:17:49,049 INFO - File "/usr/local/lib/python3.5/site-
packages/tensorflow/contrib/learn/python/learn/estimators/estimator.py", 
line 816, in _evaluate_model
2017-12-22 12:17:49,049 INFO - % self._model_dir)
2017-12-22 12:17:49,049 INFO - 
tensorflow.contrib.learn.python.learn.estimators._sklearn.NotFittedError: 
Couldn't find trained model at /model_dir

这不足为奇。

谁能给我一些关于如何将训练输出提供给测试运行的说明?

我也会在 Floydhub 论坛上发布这个问题。

谢谢!!

.

【问题讨论】:

    标签: tensorflow nlp deep-learning


    【解决方案1】:

    您可以像挂载数据一样挂载任何作业的输出。在您的示例中:

    --data janinanu/projects/retrieval-based-dialogue-system- on-ubuntu-corpus/18/output:model_dir

    应该将运行 18 中的整个输出目录挂载到新作业的 /mount_dir。

    您可以通过查看作业页面来确认这一点(选择“数据”选项卡以查看哪些数据集安装在哪些路径上)。

    在您的情况下,您能否确认测试是否正在寻找正确的模型文件名?

    我也会在 FloydHub 论坛上对此作出回应。

    【讨论】:

      猜你喜欢
      • 2014-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 2013-12-08
      • 2012-11-05
      • 2020-02-11
      • 1970-01-01
      相关资源
      最近更新 更多