0

resnet50_train.py中获取学习率的代码如下:

learning_rate = workspace.FetchBlob(prefix + '/conv1_w_lr')

当我运行代码时,发生了错误:

回溯(最后一次调用):文件“/home/caffe2/caffe2/caffe2/python/examples/resnet50_trainer.py”,第 475 行,在 main() 文件“/home/caffe2/caffe2/caffe2/python/examples/ resnet50_trainer.py”,第 471 行,在主 Train(args) 文件中“/home/caffe2/caffe2/caffe2/python/examples/resnet50_trainer.py”,第 400 行,在 Train explog 文件中“/home/caffe2/caffe2/caffe2 /python/examples/resnet50_trainer.py",第 163 行,在 RunEpoch learning_rate = workspace.FetchBlob(prefix + '/conv1_w_lr') 文件 "/home/caffe2-master/caffe2/build/caffe2/python/workspace.py",第 323 行,在 FetchBlob 中返回 C.fetch_blob(StringifyBlobName(name)) RuntimeError: [enforce fail at pybind_state.cc:152] ws->HasBlob(name)。找不到 blob:gpu_0/conv1_w_lr

是什么导致了问题?我应该重新编译任何依赖项还是可以使用任何其他函数来获得学习率?

4

1 回答 1

0

在运行之前,FetchBlob(prefix + '/conv1_w_lr')您可以检查工作区中存在哪些 blob for b in workspace.Blobs(): print(b):.

也许conv1_w_lr没有前缀就存在。或许,您首先需要 RunNet 才能拥有工作区中的所有 blob。

于 2017-07-26T04:42:08.447 回答