我想对我拥有的某些图像数据实现梦想。我决定试一试,并开始使用MNIST手写数据进行开发。
通常,在训练神经网络时,您需要一组固定的输入图像,并且需要学习一些可变的权重。梦dream以求的翻转,在网络中有一些固定权重的情况下,您需要学习可变的图像。
因此,我训练了一个网络,以使用卷积网络非常一致地识别图像。现在我想让它梦想一些图像,所以我需要对可变输入图像进行卷积。显然,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用于深梦吗?有没有办法破解它?
看看https://github.com/Microsoft/CNTK/blob/master/Tutorials/CNTK_205_Artistic_Style_Transfer.ipynb
您可以通过在参数中指定need_gradient = True来创建可学习的输入变量。
谢谢,
Emad
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句