2017-07-25 1 views
0

der Code die Lernrate in resnet50_train.py zu erhalten, ist wie folgt:caffe2 erhalten Lernrate: Kann nicht blob finden: gpu_0/conv1_w_lr

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

und wenn ich den Code ausführen, Fehler aufgetreten:

Traceback (most recent call last): File "/home/caffe2/caffe2/caffe2/python/examples/resnet50_trainer.py", line 475, in main() File "/home/caffe2/caffe2/caffe2/python/examples/resnet50_trainer.py", line 471, in main Train(args) File "/home/caffe2/caffe2/caffe2/python/examples/resnet50_trainer.py", line 400, in Train explog File "/home/caffe2/caffe2/caffe2/python/examples/resnet50_trainer.py", line 163, in RunEpoch learning_rate = workspace.FetchBlob(prefix + '/conv1_w_lr') File "/home/caffe2-master/caffe2/build/caffe2/python/workspace.py", line 323, in FetchBlob return C.fetch_blob(StringifyBlobName(name)) RuntimeError: [enforce fail at pybind_state.cc:152] ws->HasBlob(name). Can't find blob: gpu_0/conv1_w_lr

Was verursachte das Problem? Soll ich irgendwelche Abhängigkeiten neu kompilieren oder kann eine andere Funktion verwendet werden, um die Lernrate zu erhalten?

Antwort

0

Bevor Sie FetchBlob(prefix + '/conv1_w_lr') ausführen, können Sie überprüfen, welche Blobs im Arbeitsbereich vorhanden sind: for b in workspace.Blobs(): print(b).

Vielleicht conv1_w_lr existiert ohne das Präfix. Vielleicht müssen Sie zuerst RunNet verwenden, um alle Blobs im Arbeitsbereich zu haben.

+0

vielen Dank. . Ich habe resnet50_trainer.py auf github überprüft und festgestellt, dass es sich von der heruntergeladenen Version unterscheidet. die Art und Weise learning_rate des Erhaltens hat sich verändert ... learning_rate = workspace.FetchBlob ( data_parallel_model.GetLearningRateBlobNames (train_model) [0] ) neueste caffe2 neu kompiliert wurde und jetzt ist es ok. –

Verwandte Themen