当我想使用重复生成张量时,为什么会发生此错误?

时间:2019-03-22 19:25:31

标签: python tensorflow keras

我在Keras中有一个输入层wtm = Input(4,4,1),我想从wtm中的每个值生成形状为(None,28,28,1)的新张量,为此我使用了这段代码,但是它会产生以下错误,但我不知道为什么会发生?您能帮我解决这个问题吗?

wtm=Input((4,4,1))
rep=Kr.layers.Lambda(lambda x:Kr.backend.repeat(x,28))
a_1 = Kr.layers.Lambda(lambda x:x[1,1])(wtm)
a_2 = rep(a_1)
a_3 = Kr.layers.Reshape((1, 28,1))(a_2)
a=rep(a_2)

错误:

  

回溯(最近通话最近一次):

     

文件“”,第1行,位于encode_merged = add_const([encoded,a])

     

文件   “ D:\ software \ Anaconda3 \ envs \ py36 \ lib \ site-packages \ keras \ engine \ base_layer.py”,   第457行,在通话输出= self.call(inputs,** kwargs)

     

文件   “ D:\ software \ Anaconda3 \ envs \ py36 \ lib \ site-packages \ keras \ layers \ core.py”,   687行,在调用返回self.function(inputs,** arguments)

     

文件“”,第1行,位于add_const = Kr.layers.Lambda(lambda x:x [0] +   x [1])

     

文件   “ D:\ software \ Anaconda3 \ envs \ py36 \ lib \ site-packages \ tensorflow \ python \ ops \ math_ops.py”,   第866行,在binary_op_wrapper中返回func(x,y,name = name)

     

文件   “ D:\ software \ Anaconda3 \ envs \ py36 \ lib \ site-packages \ tensorflow \ python \ ops \ gen_math_ops.py”,   第301行,添加“添加”,x = x,y = y,名称=名称)

     

文件   “ D:\ software \ Anaconda3 \ envs \ py36 \ lib \ site-packages \ tensorflow \ python \ framework \ op_def_library.py”,   787行,在_apply_op_helper op_def = op_def)

     

文件   “ D:\ software \ Anaconda3 \ envs \ py36 \ lib \ site-packages \ tensorflow \ python \ util \ deprecation.py”,   第488行,在new_func中返回func(* args,** kwargs)

     

文件   “ D:\ software \ Anaconda3 \ envs \ py36 \ lib \ site-packages \ tensorflow \ python \ framework \ ops.py”,   第3274行,位于create_op op_def = op_def)

     

文件   “ D:\ software \ Anaconda3 \ envs \ py36 \ lib \ site-packages \ tensorflow \ python \ framework \ ops.py”,   第1792行,位于初始control_input_ops)

     

文件   “ D:\ software \ Anaconda3 \ envs \ py36 \ lib \ site-packages \ tensorflow \ python \ framework \ ops.py”,   第1631行,在_create_c_op中引发ValueError(str(e))

     

ValueError:尺寸必须相等,但对于28和4   输入形状为[?,28,28,1],[4,28,1]的'lambda_9 / add'(op:'Add')。

0 个答案:

没有答案