Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow tf.text_到_序列以0开头_Tensorflow_Keras - Fatal编程技术网

Tensorflow tf.text_到_序列以0开头

Tensorflow tf.text_到_序列以0开头,tensorflow,keras,Tensorflow,Keras,我做标签编码使用编码器使用下面的代码。它进行编码,但以1而不是0开始。如何使其在0之前开始编码 label_tokenizer = Tokenizer() label_tokenizer.fit_on_texts(labels) training_label_seq = np.array(label_tokenizer.texts_to_sequences(train_labels)) validation_label_seq = np.array(label_tokenizer.texts_

我做标签编码使用编码器使用下面的代码。它进行编码,但以1而不是0开始。如何使其在0之前开始编码

label_tokenizer = Tokenizer()
label_tokenizer.fit_on_texts(labels)

training_label_seq = np.array(label_tokenizer.texts_to_sequences(train_labels))
validation_label_seq = np.array(label_tokenizer.texts_to_sequences(validation_labels))
下面的代码显示它从1开始:

label_tokenizer.word_index

{'credit': 10,
 'deduction': 9,
 'notification': 6,
 'notificationcredit': 4,
 'notificationfailed': 8,
 'notificationfinancial': 1,
 'notificationimportant': 2,
 'notificationreminder': 7,
 'notificationsuccess': 11,
 'otp': 3,
 'personal': 5,
 'promotion': 12,
 'reminder': 13}
目的是,我想在训练tensorflow时使用这些标签。对于以1开头的标签编码,这给了我一个错误:
收到的标签值为13,超出了[0,13]的有效范围。

这是模型的定义。为了使事情顺利进行,我在最后一层的总类中添加了+1:

model = keras.Sequential([
  keras.layers.Embedding(input_dim=max_words, output_dim=64, input_length=input_dim),
  keras.layers.Bidirectional(keras.layers.LSTM(64)), #, return_sequences=True
  keras.layers.Dense(y_train.shape[1]+1, activation="softmax")])

今天早上我遇到了这个问题,使用的变量表示法与您完全相同…;D

马可·塞里亚尼是对的——因此,引用他的话,简单地说:

training_label_seq=np.array(label_tokenizer.text_to_sequence(train_labels))-1
validation_label_seq=np.array(label_tokenizer.Text_to_sequences(validation_labels))-1
事实上,您需要保持您想要的类的数量-因此确保删除
+1

model=keras.Sequential([
keras.layers.Embedding(输入尺寸=最大字数,输出尺寸=64,输入长度=输入尺寸),
keras.layers.bidirective(keras.layers.LSTM(64)),#,返回_序列=True
keras.layers.Dense(y_train.shape[1],activation=“softmax”))

今天早上我遇到了这个问题,使用的变量表示法与您完全相同……;D

马可·塞里亚尼是对的——因此,引用他的话,简单地说:

training_label_seq=np.array(label_tokenizer.text_to_sequence(train_labels))-1
validation_label_seq=np.array(label_tokenizer.Text_to_sequences(validation_labels))-1
事实上,您需要保持您想要的类的数量-因此确保删除
+1

model=keras.Sequential([
keras.layers.Embedding(输入尺寸=最大字数,输出尺寸=64,输入长度=输入尺寸),
keras.layers.bidirective(keras.layers.LSTM(64)),#,返回_序列=True
keras.layers.Dense(y_train.shape[1],activation=“softmax”))

我有一个想法,但您能添加您的模型结构吗?我建议您进行培训\u label\u seq-1和验证\u label\u seq-1,这样标签从0开始(同时删除最后一层中的“+1”)我有一个想法,但是你能添加你的模型结构吗?我建议你进行培训\u label\u seq-1和验证\u label\u seq-1,这样标签从0开始(同时删除最后一层中的“+1”)