def add_copy(self, src_name, src_batch_stride, src_stride, src_offset, dst_name, dst_batch_stride, dst_stride, dst_offset, length, output_name, src_index_name=None, dst_index_name=None): src_index = None dst_index = None if (src_index_name is None): layer = caffe_net.LayerParameter(name=output_name, type='Copy', bottom=[src_name, dst_name], top=[output_name]) else: layer = caffe_net.LayerParameter(name=output_name, type='Copy', bottom=[src_name, dst_name, src_index_name, dst_index_name], top=[output_name]) src_index = self.data_dict[src_index_name] dst_index = self.data_dict[dst_index_name] layer.copy_param(src_batch_stride, src_stride, src_offset, dst_batch_stride, dst_stride, dst_offset, length) self.caffe_model.add_layer(layer) self.data_dict[dst_name] = Operators.copy(self.data_dict[src_name], src_batch_stride, src_stride, src_offset, self.data_dict[dst_name], dst_batch_stride, dst_stride, dst_offset, length, dst_name, src_index, dst_index) return dst_name