1
私はの重みを変更する方法を説明しているcaffeの例のnet_surgery.ipynbの例に従っています。しかし、私はPythonにはかなり新しいので、構文のいくつかを理解することはできません。caffeのnet_surgeryの理解
conv_params = {pr: ...
で始まる7行目が以下のコード例で何を意味するのか説明できますか? (例はnet_surgery.ipynbからです - 手順8)。特にpr:
とは何ですか?それは構造のような(キー、値)キーのですか?
# Load the fully convolutional network to transplant the parameters.
net_full_conv = caffe.Net('net_surgery/bvlc_caffenet_full_conv.prototxt',
'../models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel',
caffe.TEST)
params_full_conv = ['fc6-conv', 'fc7-conv', 'fc8-conv']
# conv_params = {name: (weights, biases)}
conv_params = {pr: (net_full_conv.params[pr][0].data, net_full_conv.params[pr][1].data) for pr in params_full_conv}
for conv in params_full_conv:
print '{} weights are {} dimensional and biases are {} dimensional'.format(conv, conv_params[conv][0].shape, conv_params[conv][1].shape)