从TensorFlow文档中,很清楚如何使用tf.feature_column.categorical_column_with_vocabulary_list
创建特征列,该特征列将序列列表作为输入并输出密集矩阵。例如
features = {'letter': [['A','A'],['C','D'],['E','F']]}
variable_columns = []
var_col = tf.feature_column.sequence_categorical_column_with_vocabulary_list(key='letter',vocabulary_list=["A","B","C"],num_oov_buckets=0)
variable_columns.append(tf.feature_column.embedding_column(var_col,16,combiner='mean'))
variable_columns_layer = tf.keras.experimental.SequenceFeatures(variable_columns)
result = variable_columns_layer(features)
我的问题与将三个字符串列表作为功能有关。例如,如果每个功能部件列表的长度都相同,则可以得到所需的结果,但是当我的功能部件列表是可变长度时,例如features = {'letter': [['A'],'F','A']]}
variable_columns_layer将抛出ValueError: Can't convert non-rectangular Python sequence to Tensor.
如何从variable_columns_layer中获取正确的变量列表输入结果?