我需要使用None值重塑张量,以便它可以根据输入图像的大小动态变化。有没有可能的方式???,我厌倦了以下选择:
这是我修改代码的一部分:
选项_1:
x = Conv2D(512, (3, 3), activation='relu', padding='same')(x)
new_dims = (1,None,None,512)
x = Reshape(target_shape= new_dims, name='reshapeconvtolstm')(x)
我得到的错误是:
ValueError:试图将'shape'转换为张量,但失败。错误: 不支持任何值。
Option_2:我尝试使用here中所述的(-1)值来解决它:
new_dims = (1,-1,-1,512)
x = Reshape(target_shape= new_dims, name='reshapeconvtolstm')(x)
但是我得到了错误
k:0 / device:GPU:0”,send_device_incarnation = 1, tensor_name =“ edge_3691_loss / add”,tensor_type = DT_FLOAT, _device =“ / job:localhost / replica:0 / task:0 / device:CPU:0”]()]] 2019-03-11 14:13:46.806892:W tensorflow / core / framework / op_kernel.cc:1273 ] OP_REQUIRES在reshape_op.h:51失败:参数无效:仅一个 输入大小可能是-1,而不是2和3都例外:仅一个输入大小 可能是-1,而不是2和3
Option_3:
此外,我尝试使用输入图像的大小对其进行调整,并尝试了以下选项:
new_dims = (1,352,240,512)
x = Reshape(target_shape= new_dims, name='reshapeconvtolstm')(x)
但是我得到了错误
构建网络后出现错误:例外:重塑的输入是 张量为168960的张量,但请求的形状为43253760 [[{{node reshapeconvtolstm / Reshape}} =整形[T = DT_FLOAT,Tshape = DT_INT32, _class = [“ loc:@ training / Adam / gradients / reshapeconvtolstm / Reshape_grad / Reshape”], _device =“ / job:localhost / replica:0 / task:0 / device:GPU:0”](block5_conv3 / Relu-2-0-TransposeNCHWToNHWC-LayoutOptimizer, reshapeconvtolstm / Reshape / shape)]
我需要将其调整为 None 值,以使其随输入内容和要素图的大小而变化。与选项1一样,有任何线索吗?