2017-10-19 67 views
1

我摘录的有关部分如下:收集输出()

feature_output = network['output'].find_by_name('fc8').outputs 
_, output = trainer.train_minibatch(data, (feature_output)) 
print(output.keys()) 
print(output[dict_keys(feature_output])) 

如下它给了我一个错误:

dict_keys([Output('fc8', [#], [1000])]) 
Traceback (most recent call last): 
    File "trainoverfeataccurate.py", line 325, in <module> 
    warm_up=0, max_epochs=epochs) 
    File "trainoverfeataccurate.py", line 250, in overfeataccuratetraining 
    restore, profiling, print_freq=1) 
    File "trainoverfeataccurate.py", line 145, in train_and_test 
    print(output[feature_output]) 
KeyError: (Output('fc8', [#], [1000]),) 

我也试过_, output = trainer.train_minibatch(data,{'a' : feature_output}) 但它给我以下错误 TypeError: cannot convert key of dictionary to N4CNTK8VariableE

使用时收集输出的正确方法是什么?

回答

0

网络的输出是一个元组,所以你需要得到第一个元素。那么你正在寻找的名字是uid。例如。

feature_output[0].uid