首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TensorFlow:使用weighted_categorical_column时出错

TensorFlow:使用weighted_categorical_column时出错
EN

Stack Overflow用户
提问于 2020-05-25 01:00:57
回答 1查看 179关注 0票数 0

我研究一个包含字段街的二进制分类问题。在第一步中,我使用了Tokenization来获取一个单词列表(一个单词在不同数据集中出现的频率)。然后,我使用这些信息在Dataframe中创建了两个列,描述了这个词及其使用频率:

代码语言:javascript
复制
def buildWeightList(indexes, tokenizer):
    weights = []
    for index in indexes:
        if index == 0:
            weights.append(0)
        else:
            weights.append(tokenizer.index_docs.get(index))
    return weights
代码语言:javascript
复制
street_tokenized = ts.texts_to_sequences(data['STREETPRO'])
data['STREETPRO'] = tf.keras.preprocessing.sequence.pad_sequences(street_tokenized, maxlen=1)
data['STREETFREQ']  = buildWeightList(data['STREETPRO'], ts)

在将Dataframe转换为TensorFlow数据集之后,我使用了以下代码将其添加到今后的列中:

代码语言:javascript
复制
vocabulary_list = np.arange(0, street_num_words + 1, 1).tolist()
street_voc = tf.feature_column.categorical_column_with_vocabulary_list(
    key='STREETPRO', vocabulary_list=vocabulary_list, dtype=tf.dtypes.int64)

weighted_street = tf.feature_column.weighted_categorical_column(categorical_column=street_voc, weight_feature_key='STREETFREQ', dtype=tf.dtypes.int64)
street_one_hot = feature_column.indicator_column(weighted_street)

feature_columns.append(street_one_hot)

如您所见,我使用了函数tf.feature_column.weighted_categorical_column.不幸的是,当我试图训练我的模型时,我得到了以下错误:

代码语言:javascript
复制
InvalidArgumentError:  indices and values rows (indexing dimension) must match. (indices = 5, values = 1)
     [[node sequential/dense_features_2/STREETPRO_weighted_by_STREETFREQ_indicator/SparseMerge/SparseReorder (defined at <ipython-input-40-964101dd1dc8>:3) ]] [Op:__inference_train_function_986]

此外,我还收到以下警告:

代码语言:javascript
复制
WARNING:tensorflow:From ...\feature_column\feature_column_v2.py:4366: sparse_merge (from tensorflow.python.ops.sparse_ops) is deprecated and will be removed in a future version.

现在我有两个问题:

First:在我描述的问题上使用这个函数有意义吗?不幸的是,我找不到这个函数如何工作的详细描述(只有这个简短的文档:https://www.tensorflow.org/api_docs/python/tf/feature_column/weighted_categorical_column)。

第二:如何修复所描述的错误?

EN

回答 1

Stack Overflow用户

发布于 2021-04-27 14:56:56

一年后,报告说我也有同样的问题,并通过消除任何零权重的例子来“解决”。可能是Tensorflow将某些内容转换为稀疏表示并省略零的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61994285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档