我正在使用Lasagne为MNIST数据集创建CNN.我正密切关注这个例子:卷积神经网络和Python特征提取.
我目前拥有的CNN架构(不包括任何丢失层)是:
NeuralNet(
layers=[('input', layers.InputLayer), # Input Layer
('conv2d1', layers.Conv2DLayer), # Convolutional Layer
('maxpool1', layers.MaxPool2DLayer), # 2D Max Pooling Layer
('conv2d2', layers.Conv2DLayer), # Convolutional Layer
('maxpool2', layers.MaxPool2DLayer), # 2D Max Pooling Layer
('dense', layers.DenseLayer), # Fully connected layer
('output', layers.DenseLayer), # Output Layer
],
# input layer
input_shape=(None, 1, 28, 28),
# layer conv2d1
conv2d1_num_filters=32,
conv2d1_filter_size=(5, 5),
conv2d1_nonlinearity=lasagne.nonlinearities.rectify,
# layer maxpool1
maxpool1_pool_size=(2, 2),
# layer conv2d2
conv2d2_num_filters=32,
conv2d2_filter_size=(3, 3),
conv2d2_nonlinearity=lasagne.nonlinearities.rectify,
# layer maxpool2
maxpool2_pool_size=(2, 2),
# Fully Connected …Run Code Online (Sandbox Code Playgroud) neural-network deep-learning conv-neural-network lasagne nolearn
如何计算模型中的参数数量,例如mnist的LENET,或者imagent模型的ConvNet等.在caffe中是否有任何特定的函数可以返回或保存模型中的参数数量.问候
并且 TensorFlow 消耗的内存超过可用内存(显然导致程序崩溃)。
我的问题是:为什么 TensorFlow 需要这么多内存来运行我的网络?我不明白是什么占用了这么多空间(也许缓存数据几次以优化卷积计算?保存所有隐藏输出用于反向传播?)。有没有办法防止 TensorFlow 消耗这么多内存?
旁注:
caffe ×1
convolutional-neural-network ×1
lasagne ×1
matcaffe ×1
memory ×1
nolearn ×1
python ×1
tensorflow ×1