Neural network 如何动态修改批次大小,即在pycaffe中加载ANN后?
我用Caffe训练了一个神经网络。然后,我使用它来预测给定一些新输入的输出。为此,我将经过训练的神经网络与deploy.prototxt一起加载到pycaffe中,其中指定了输入: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
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)