【发布时间】:2017-12-30 10:28:58
【问题描述】:
我想在我拥有的一些图像数据上实现一个深刻的梦想。我决定试一试cntk,开始使用MNIST手写数据进行开发。
通常,在训练神经网络时,您有一些固定的输入图像集,并且需要学习一些可变权重。 Deep dreaming 有点像翻转这些,你有一个可变的图像要学习,给定网络中的一些固定权重。
所以我训练了一个网络,以使用卷积网络非常一致地识别图像。现在我想让它想象一些图像,所以我需要对可变输入图像进行卷积。显然cntk不允许这样做。以下代码演示了我遇到的错误。
def doConstantConv(inputX, W, b, redRank):
kernel = C.constant(value = W)
bias = C.constant(value = b)
conv = C.convolution(kernel, inputX, strides = (2,2), reduction_rank = redRank) + bias
return C.relu(conv)
W1 = np.reshape(np.arange(200.0, dtype = np.float32), (8,1,5,5))
b1 = np.reshape(np.arange(8.0, dtype = np.float32), (8,1,1))
someInput = C.parameter((1,28,28))
layer1 = doConstantConv(someInput, W1, b1, 1)
我得到的错误是“卷积当前需要主操作数具有动态轴”。但据我所知,可学习的参数不能有动态轴。那没有意义,不是吗?
那么得出cntk不能用于深度梦境的结论是否公平?有办法破解吗?
【问题讨论】:
标签: python deep-learning cntk