Tensorflow中的InvalidArgumentError:断言失败[标签ID必须>;=0][条件x>;0未保持元素状态]

Tensorflow中的InvalidArgumentError:断言失败[标签ID必须>;=0][条件x>;0未保持元素状态],tensorflow,machine-learning,Tensorflow,Machine Learning,我在使用Python 2.7在Tensorflow 1.4.0中实现DNNLinearCombinedClassifier时出错。我从Tensorflow tf.estimator快速入门教程中获得了示例代码,我想用我自己的数据集:comment和82个不同的类(字符串标签)运行它。以下是我的实现: 来自未来导入绝对导入 来自未来进口部 来自未来导入打印功能 导入多处理 进口六 导入tensorflow作为tf #定义输入数据的格式,包括未使用的列 CSV\u列=[“评论英语”、“评论情感”、“

我在使用Python 2.7在Tensorflow 1.4.0中实现DNNLinearCombinedClassifier时出错。我从Tensorflow tf.estimator快速入门教程中获得了示例代码,我想用我自己的数据集:comment和82个不同的类(字符串标签)运行它。以下是我的实现:

来自未来导入绝对导入
来自未来进口部
来自未来导入打印功能
导入多处理
进口六
导入tensorflow作为tf
#定义输入数据的格式,包括未使用的列
CSV\u列=[“评论英语”、“评论情感”、“关键字”,
“语法引理”,“节名”,
“部分代码”]
CSV_列_默认值=[[''],'','','','','','','']]
LABEL_COLUMN='section_code'
标签=[‘TS4CFS6’、‘TS3CFS6’、‘TS6CFS6’、‘TS7CSQ4’、‘TS7CT3’、‘TS2CC8’、‘TS2CC4’,
‘TS7CT2’、‘TS7CSQ2’、‘TS2CP5’、‘TS7CHP1’、‘TS1CSQ4’、‘TS2CC9’、‘TS7CSQ1’,
‘TS2CC1’、‘TS2CC5’、‘TS3CFS2’、‘TS4CFS2’、‘TS6CFS2’、‘TS3CFS1’、‘TS1CSQ3’,
‘TS6CSQ2’、‘TS2CC3’、‘TS6CSQ4’、‘TS2CC2’、‘TS1CPS3’、‘TS2CTR2’,
‘TS6CSQ1’、‘TS1CPS1’、‘TS1CSQ1’、‘TS5CSQ2’、‘TS3CSQ2’、‘TS4CSQ2’、‘TS3CTR1’,
‘TS6CFS1’、‘TS6CSQ5’、‘TS6CTR1’、‘TS1CPS2’、‘TS4CSQ4’、‘TS3CFS3’、‘TS6CFS3’,
‘TS4CFS3’、‘TS5CFS3’、‘TS3CSQ1’、‘TS4CTR1’、‘TS2CP2’、‘TS1CPS5’、‘TS7CT1’,
‘TS2CC6’、‘TS7CT4’、‘TS2CP4’、‘TS5CTR1’、‘TS4CSQ1’、‘TS5CSQ1’、‘TS2CP1’,
‘TS5CSQ4’、‘TS5CSQ5’、‘TS5CFS1’、‘TS3CSQ4’、‘TS7CSQ3’、‘TS5CFS5’、‘TS4CSQ3’,
‘TS1CTR1’、‘TS2CTR1’、‘TS2CC7’、‘TS6CSQ3’、‘TS5CSQ3’、‘TS3CSQ3’、‘TS1CSQ2’,
‘TS3CSQ5’、‘TS3CFS4’、‘TS5CFS4’、‘TS4CFS4’、‘TS6CFS4’、‘TS5CFS2’、‘TS4CSQ5’,
‘TS6CFS5’、‘TS3CFS5’、‘TS4CFS5’、‘TS4CFS1’、‘TS2CP3’、‘TS1CPS4’]
#定义模型使用的每个特征的初始摄取。
#此外,提供有关该功能的元数据。
输入_列=[
#对于具有大量值或未知值的列
#我们可以使用散列函数转换为类别。
tf.feature\u column.categorical\u column\u与\u hash\u bucket(
“comment\u english”,哈希值\u bucket\u size=1000,dtype=tf.string),
#分类基列
#对于具有已知值的分类列,我们可以提供列表
#价值观的超前性。
tf.feature\u column.categorical\u column\u与词汇表(
“评论情绪”[“消极”、“积极”、“混合]),
#对于具有大量值或未知值的列
#我们可以使用散列函数转换为类别。
tf.feature\u column.categorical\u column\u与\u hash\u bucket(
“关键字”,hash_bucket_size=100,dtype=tf.string),
tf.feature\u column.categorical\u column\u与\u hash\u bucket(
“语法引理”,散列(bucket大小=100,dtype=tf.string)
未使用的_COLUMNS=set(CSV_COLUMNS)-{col.name for col in INPUT_COLUMNS}-{LABEL_COLUMN}
def build_估计器(配置,嵌入_大小=4,隐藏_单位=无):
“构建一个广泛而深入的收入类别预测模型。
要定义模型,我们可以使用预构建的DNNCombinedLinearClassifier类,
只需定义特定于数据集的数据转换
然后
将这些(可能的)变换特征指定给DNN或线性
模型的回归部分。
Args:
config:tf.contrib.learn.RunConfig定义
估计器(包括模型_dir)。
嵌入大小:int,用于表示分类的维度数
将其作为输入提供给DNN时的功能。
隐藏单位:[int],DNN的层大小(首先输入层)
学习率:float,优化器的学习率。
返回:
DNN组合线性分类器
"""
(注释\英语、注释\情感、关键字、语法\引理)=输入\列
#建立一个估计器。
#重用的转换。
#连续柱可以转换为cate
#巴基化血淋淋
#年龄\桶=tf.feature\列.桶化\列(
#年龄,界限=[18,25,30,35,40,45,50,55,60,65])
#宽柱和深柱。
宽列=[
#不同类别特征之间的交互也可以
#将添加为新的虚拟功能。
#tf.feature\u column.crossed\u column(
#['comment_english'、'keyword'、'syntax_引理'],hash_bucket_size=int(1e6)),
tf.feature\u column.crossed\u column(
['keyword','syntax_lemma',hash_bucket_size=int(1e4)),
评论英语,
评论你的情绪,
关键词,
语法引理,
]
深_列=[
#对低维词汇表使用指示符列
tf.特征栏、指标栏(注释英语),
tf.特征栏、指标栏(评论栏),
#对高维词汇表使用嵌入列
tf.feature\u column.embedding\u column(
关键字,维度=嵌入大小),
tf.feature\u column.embedding\u column(语法引理,维度=嵌入大小)
]
返回tf.estimator.DNNLinearCombinedClassifier(
config=config,
线性特征列=宽列,
dnn_特征_列=深_列,
dnn_隐藏单位=隐藏单位或[100,70,50,25],
)

//,到目前为止,你已经做了什么样的研究?谢谢你提供了一个代码示例!还有,我们将如何尝试复制这个,你是否有一个具体的问题?Tks.是的。我已经对tensorflow进行了研究。你可以在进行复制。我有一个问题:当我使用82个标签运行算法时,我得到了这样的错误R