我的结论正确吗?cntk不可能实现“深度梦想”?

2024-06-17 12:48:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在我拥有的一些图像数据上实现一个深刻的梦想。我决定尝试一下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不能用于深梦的结论公平吗?有办法破解吗?你知道吗


Tags: 数据图像网络value错误npkernel卷积