Neural network 如何动态修改批次大小,即在pycaffe中加载ANN后?

Neural network 如何动态修改批次大小,即在pycaffe中加载ANN后?,neural-network,deep-learning,caffe,Neural Network,Deep Learning,Caffe,我用Caffe训练了一个神经网络。然后,我使用它来预测给定一些新输入的输出。为此,我将经过训练的神经网络与deploy.prototxt一起加载到pycaffe中,其中指定了输入: name: "IrisNet" input: "data" input_dim: 1 # batch size input_dim: 1 input_dim: 1 input_dim: 300 # number of features input: "adbeoption" input_dim: 1 # batch

我用Caffe训练了一个神经网络。然后,我使用它来预测给定一些新输入的输出。为此,我将经过训练的神经网络与deploy.prototxt一起加载到pycaffe中,其中指定了输入:

name: "IrisNet"
input: "data"
input_dim: 1 # batch size
input_dim: 1
input_dim: 1
input_dim: 300 # number of features

input: "adbeoption"
input_dim: 1 # batch size
input_dim: 1
input_dim: 1
input_dim: 1 # number of features


layer {
  name: "ip1"
  type: "InnerProduct"
  bottom: "data"
  top: "ip1"

[...]
我使用以下方法加载神经网络:

my_net = caffe.Net(deploy_prototxt_filename,caffemodel_filename, caffe.TEST)
由于我事先不知道将有多少输入,因此我希望在加载神经网络后(即调用
caffe.Net()
)能够更改批次大小。如何操作?

您可以使用:

然后可以调用
net.forward()

它将动态修改批次大小,而无需重新加载ANN

net.blobs['data'].reshape(data_batch_size, 1, 1, data_of_features)
net.blobs['adbeoption'].reshape(adbeoption_batch_size, 1, 1, 1)