Tensorflow 1.x 的 feature_columns 项必须是 _FeatureColumn。给定类型是列表
Posted
技术标签:
【中文标题】Tensorflow 1.x 的 feature_columns 项必须是 _FeatureColumn。给定类型是列表【英文标题】:Tensorflow 1.x Items of feature_columns must be a _FeatureColumn. Given type is List 【发布时间】:2019-11-03 06:58:01 【问题描述】:我正在使用 TensorFlow 1.15 进行机器学习项目,在该项目中我使用 tf.feature_column
创建特征列,但遇到了一个错误。
我是这样定义feature columns
的:
# Define feature columns
is_male = tf.feature_column.categorical_column_with_vocabulary_list('is_male', vocabulary_list=['False', 'True'])
plurality = tf.feature_column.categorical_column_with_vocabulary_list('plurality', vocabulary_list=['Single(1)', 'Twins(2)', 'Triplets(3)', 'Quadruplets(4)', 'Quintuplets(5)'])
wide_columns = [is_male, plurality]
mother_age = tf.feature_column.numeric_column(key="mother_age", shape=10)
gestation_weeks = tf.feature_column.numeric_column(key="gestation_weeks", shape=10)
deep_columns = [mother_age,gestation_weeks]
feature_cols = [wide_columns, deep_columns]
这是我得到的确切错误:
ValueError:feature_columns 的项目必须是 _FeatureColumn。给定(类型):[VocabularyListCategoricalColumn(key='is_male', words_list=('False', 'True'), dtype=tf.string, default_value=-1, num_oov_buckets=0), VocabularyListCategoricalColumn(key='plurality',词汇表=('Single(1)', 'Twins(2)', 'Triplets(3)', 'Quadruplets(4)', 'Quintuplets(5)'), dtype=tf.string, default_value=-1, num_oov_buckets=0)]。
【问题讨论】:
【参考方案1】:我认为feature_cols
包含两个列表,因此您传递了feature_cols = [[is_male, plurality], [mother_age, gestation_weeks]]
。我相信你想做的是feature_cols = wide_columns + deep_columns
。
【讨论】:
以上是关于Tensorflow 1.x 的 feature_columns 项必须是 _FeatureColumn。给定类型是列表的主要内容,如果未能解决你的问题,请参考以下文章
使用 Tensorflow 嵌入列会引发 All feature_columns must be _FeatureColumn instances 错误
『TensorFlow』队列&多线程&TFRecod文件_我辈当高歌
吴裕雄 python 神经网络——TensorFlow 输入文件队列