帮我把我上面的代码改成能与TensorFlow2.x兼容
时间: 2024-05-14 17:18:04 浏览: 13
好的,以下是将你的代码改为TensorFlow 2.x兼容的版本:
```python
import tensorflow as tf
from tensorflow.keras.layers import Dense, Dropout, Embedding, LSTM
from tensorflow.keras.models import Sequential
# 定义模型
model = Sequential()
model.add(Embedding(input_dim=vocab_size, output_dim=embedding_dim, input_length=max_length))
model.add(LSTM(units=64, dropout=0.2, recurrent_dropout=0.2))
model.add(Dense(units=num_classes, activation='softmax'))
# 编译模型
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
# 训练模型
model.fit(X_train, y_train, epochs=num_epochs, batch_size=batch_size, validation_data=(X_test, y_test))
```
这里我们使用了TensorFlow 2.x的Keras API,将之前的`Input`和`Model`改成了`Sequential`模型。同时,我们使用了`Embedding`和`LSTM`层来搭建模型,使用`Dense`层输出最终结果。在编译模型时,我们使用了`categorical_crossentropy`作为损失函数,`adam`作为优化器,并且记录了模型的准确率。在训练模型时,我们使用`fit`方法,并且传入了训练数据、测试数据、迭代次数和批次大小。