我们正在研究 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),因此损失函数用来与我们的测试数据进行比较的输出。任何人都可以帮助我们吗?