def set_default_value(self, sess, caffe_mat, layer_id_map):
for layer_name, idxs in layer_id_map.items():
idx, bias_term = idxs
weight = caffe_mat[idx][1][0].transpose((2, 3, 1, 0))
if bias_term:
bias = caffe_mat[idx][1][1]
if layer_name.startswith('upscore'):
weight = weight[:, :, :self.output_dim, :self.output_dim]
bias = bias[:self.output_dim]
if layer_name.startswith('score'):
weight = weight[:, :, :, :self.output_dim]
bias = bias[:self.output_dim]
name = layer_name + '_weight'
sess.run(tf.assign(self.net[name], weight))
if bias_term:
name = layer_name + '_bias'
sess.run(tf.assign(self.net[name], bias))
评论列表
文章目录