Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.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
Python Tensorflow:长度可变的OneHot编码_Python_Tensorflow_Machine Learning_One Hot Encoding - Fatal编程技术网

Python Tensorflow:长度可变的OneHot编码

Python Tensorflow:长度可变的OneHot编码,python,tensorflow,machine-learning,one-hot-encoding,Python,Tensorflow,Machine Learning,One Hot Encoding,我需要用TensorFlow对一些位置进行编码 但是,输入序列的长度(因此tf.one_hot中的depth参数)是零,因为我使用的是可变大小的输入 这会引发以下错误: ValueError:尝试将“深度”转换为张量,但失败。错误:不支持任何值。“” 有解决办法吗 对于给定的序列,我已经尝试在每次调用之前(通过一个具有任意初始化值的变量)将深度设置为正确的序列长度,但是由于已经构建了计算图,更改没有生效,深度停留在初始化值。我就是这样解决问题的:问题是我使用了其他人的代码,tf中的depth参数

我需要用TensorFlow对一些位置进行编码

但是,输入序列的长度(因此
tf.one_hot
中的
depth参数)是零,因为我使用的是可变大小的输入

这会引发以下错误:

ValueError:尝试将“深度”转换为张量,但失败。错误:不支持任何值。“”

有解决办法吗


对于给定的序列,我已经尝试在每次调用之前(通过一个具有任意初始化值的变量)将深度设置为正确的序列长度,但是由于已经构建了计算图,更改没有生效,深度停留在初始化值。

我就是这样解决问题的:问题是我使用了其他人的代码,
tf中的
depth
参数。one_hot
来自
someTensor.get_shape().as_list()[1]
。这里的问题是,如果
someTensor
的形状未知,则该参数是Python-
None
,它不是
tf.one\hot
的有效参数。但是,使用
tf.shape(someTensor)[1]
解决了这个问题,因为它返回一个具有未知形状的维度,而不是Python-
None
。形状未知的维度是
tf.one\u hot
的有效
depth
-参数