Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tensorflow tf.maximum(0,x)返回错误_Tensorflow - Fatal编程技术网

tensorflow tf.maximum(0,x)返回错误

tensorflow tf.maximum(0,x)返回错误,tensorflow,Tensorflow,当尝试使用tf.maximum时,如您所料: loss = tf.maximum(0, basic_loss) 得到了该误差 ---------------------------------------------------------------------------ValueError回溯(最近的调用 最后) /opt/conda/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py 在ap

当尝试使用
tf.maximum
时,如您所料:

loss = tf.maximum(0, basic_loss)
得到了该误差

---------------------------------------------------------------------------ValueError回溯(最近的调用 最后) /opt/conda/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py 在apply_op中(self,op_type_name,name,**关键字) 489 as_ref=输入参数为, -->490首选类型=默认类型) 491除类型错误作为错误外:

/opt/conda/lib/python3.6/site-packages/tensorflow/python/framework/ops.py 在内部\u中,将\u转换为\u张量(值、数据类型、名称,作为\u参考, 首选(数据类型) 740如果ret为无: -->741 ret=conversion\u func(值,dtype=dtype,name=name,as\u ref=as\u ref) 742

/opt/conda/lib/python3.6/site-packages/tensorflow/python/framework/ops.py in_TensorTensorConversionFunction(t、数据类型、名称、as_ref) 613“对于数据类型为%s的张量,张量转换请求的数据类型为%s:%r” -->614%(dtype.name,t.dtype.name,str(t))) 615返回t

ValueError:Tensor转换请求使用的Tensor的数据类型为int32 dtype float32:'张量(“添加13:0”,shape=(),dtype=float32)”

在处理上述异常期间,发生了另一个异常:

TypeError回溯(最近的调用 最后)在() 5 tf.随机正态分布([3,128],平均值=1,标准差=1,种子值=1), 6 tf.随机正态分布([3,128],平均值=3,标准差=4,种子值=1)) ---->7损耗=三重态损耗(y\u真,y\u pred) 8. 9打印(“loss=“+str(loss.eval()))

三重态损耗(y_真、y_pred、alpha) 26基本损耗=正距离-负距离+α 27#步骤4:取基本损失和0.0的最大值。总结培训示例。 --->28损耗=tf最大值(0,基本损耗) 29####结束代码在这里### 三十

/opt/conda/lib/python3.6/site-packages/tensorflow/python/ops/gen_math_ops.py 最大(x,y,name)1261a
张量
。具有与相同的类型
x
。1262 """ ->1263结果=_op_def_lib.apply_op(“最大值”,x=x,y=y,name=name)1264返回结果1265

/opt/conda/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py 在apply_op中(self,op_type_name,name,**关键字) 524“%s”类型%s,参数“%s”。% 525(前缀,dtypes.as_dtype(attrs[input_arg.type_attr])。名称, -->526根据[输入参数类型属性])推断 527 528类型=[values.dtype]

TypeError:“Maximum”Op的输入“y”的类型float32不正确 匹配参数“x”的int32类型

问题似乎出在哪里?

没有说明
最大值
函数是非交换的

它仅在第一个参数的类型为张量时有效,但在其类型为int时无效

需要使用常量参数的替换位置调用此函数:

tf.最大值(基本损耗,0)

而不是

tf.最大值(0,基本损耗)