我们正致力于实施3D卷积神经网络,用于分割3D医学图像。
我们已经与Lasagne和Theano建立了一个网络,成功建立了5D张量。我们想要提取实际的图像'作为来自这个张量的3D numpy数组,看看分割的地图实际上是什么样的。
我们得到如下输出:
prediction = lasagne.layers.get_output(layer)
然后定义损失,更新等。
并像这样定义theano函数:
train_fn = theano.function([input_var, target_var], loss, updates=updates)
然后我们在for循环中训练网络:
for epoch in range(10):
loss = train_fn(train_data, train_seg)
print("Epoch %d: Loss %g" % (epoch + 1, loss))
我们尝试过使用这样的eval函数:
print(eval('prediction[2]'))
输出:
Subtensor{int64}.0
但我们实际想要获得的是网络的实际输出(基于我们的输入,它们的大小应为24 * 160 * 160),因此损失函数将其与我们的测试数据进行比较所需的输出。 任何人都可以帮助我们吗?
答案 0 :(得分:0)
预测只是一个theano张量。你需要做的是通过theano函数调用它,就像你对丢失变量所做的那样。
离。
prediction = lasagne.layers.get_output(theano tensor)
f = theano.function([Theano tensor],prediction)
X must be your data
maps = f(X)