我如何使我的模型接受字符串输入

问题描述 投票:0回答:1

我收到错误2020-01-29 12:49:54.219205:W tensorflow / core / framework / op_kernel.cc:1632] OP_REQUIRES在cast_op.cc:123失败:未实现:不支持将字符串转换为float 2020- 01-29 12:49:54.219705:E tensorflow / core / common_runtime / executor.cc:

我已经考虑过将字符串简单地转换为整数在alffbhet中的位置会起作用,还是有更好的方法在keras中输入字符串?这是我的代码

import tensorflow as tf
model = tf.keras.models.Sequential()
word = [['ja'],['ske'],['no'],['fork']]
language = [['dansk'],['dansk'],['engelsk'],['engelsk']]


tf.keras.layers.Flatten()
model.add(tf.keras.layers.Dense(128, activation = tf.nn.relu))
model.add(tf.keras.layers.Dense(128, activation = tf.nn.relu))
model.add(tf.keras.layers.Dense(128, activation = tf.nn.relu))
model.add(tf.keras.layers.Dense(2, activation = tf.nn.softmax))

model.compile(optimizer='adam',
                  loss='sparse_categorical_crossentropy', #mean_absolute_percentage_error
                  metrics=['accuracy'])
model.fit(word,language, epochs = 100)
tensorflow keras sequential
1个回答
0
投票

不幸的是,你不能。机器学习模型不理解单词,他们理解数字。基本上,这是数学,所有内容都必须转换为数字才能进行计算。

您必须将模型输入转换为有意义的数字。可以使用one Hot encoding等技术来完成]

© www.soinside.com 2019 - 2024. All rights reserved.