1

我想使用 mnist 数据集在 caffe 和 nvidia-digits 中训练一个简单的自动编码器。

我有:咖啡:0.16.4 DIGITS:5.1 python 2.7

我使用这里提供的结构: https ://github.com/BVLC/caffe/blob/master/examples/mnist/mnist_autoencoder.prototxt

然后我面临两个问题:

  • 当我使用提供的结构时,我收到此错误:

     Traceback (most recent call last):
       File "digits/scheduler.py", line 512, in run_task
         task.run(resources)
       File "digits/task.py", line 189, in run
         self.before_run()
       File "digits/model/tasks/caffe_train.py", line 220, in before_run
         self.save_files_generic()
       File "digits/model/tasks/caffe_train.py", line 665, in save_files_generic
         'cannot specify two val image data layers'
     AssertionError: cannot specify two val image data layers
    
  • 当我删除''test-on-test''的图层时,我得到了这样的错误结果: https ://screenshots.firefox.com/8hwLmSmEP2CeiyQP/localhost

问题是什么??

4

1 回答 1

1

出现第一个问题是因为它.prototxt有两个层,分别是名称dataTEST阶段。使用iedata的第一层不知道要使用哪些数据test-to-traintest-to-test)。这就是为什么当您使用 TEST 阶段删除其中一个数据层时,不会发生错误。编辑:我检查了求解器文件,它有一个应该在测试文件之间切换的参数,但它显然不适用于你的情况。 flatdatatest_stage

第二个问题更难解决。我在自动编码器方面的知识是有限的。在您的迭代过程中,您的欧几里得损失似乎变化很小;我会检查你的基本学习率solver.prototxt并降低它。检查损失如何波动。

除此之外,对于实现低错误的时期/迭代,您是否检查了输出数据/图像?它们有意义吗?

于 2018-02-25T04:34:17.397 回答