tensorflow——lmdb

参考官网:https://www.tensorflow.org/tutorials/keras/basic_text_classification 

与源码不同,设置index_from=0从第0位开始,实际上map类型的word_index会从1开始。

 

import tensorflow as tf
from tensorflow import keras
import numpy as np

imdb = keras.datasets.imdb
(x_train, y_train), (x_test, y_test) = keras.datasets.imdb.load_data(num_words=10000, index_from=0)

print("train len >> %d, test len >> %d" %(len(x_train), len(x_test)))

print(x_train[0]) #每个整数表示字典中的一个特定字词

#将整数转换回字词
# A dictionary mapping words to an integer index
word_index = imdb.get_word_index()

# The first indices are reserved
#word_index = {k:(v+3) for k,v in word_index.items()}
#word_index["<PAD>"] = 0
#word_index["<START>"] = 1
#word_index["<UNK>"] = 2  # unknown
#word_index["<UNUSED>"] = 3

reverse_word_index = dict([(value, key) for (key, value) in word_index.items()])#将 value和 key反转

def decode_review(text):
    return ' '.join([reverse_word_index.get(i, '?') for i in text])

print(decode_review(x_train[0]))
#不够256长度的评语用0补充
x_train = keras.preprocessing.sequence.pad_sequences(x_train,
                                                        value=0,
                                                        padding='post',
                                                        maxlen=256)

x_test = keras.preprocessing.sequence.pad_sequences(x_test,
                                                       value=0,
                                                       padding='post',
                                                       maxlen=256)
# input shape is the vocabulary count used for the movie reviews (10,000 words)
vocab_size = 10000

#模型序列
model = keras.Sequential()
model.add(keras.layers.Embedding(vocab_size, 16))
model.add(keras.layers.GlobalAveragePooling1D())
model.add(keras.layers.Dense(16, activation=tf.nn.relu))
model.add(keras.layers.Dense(1, activation=tf.nn.sigmoid))

model.summary()

model.compile(optimizer=tf.keras.optimizers.Adam(),
              loss='binary_crossentropy',
              metrics=['accuracy'])

#用训练集的前10000个训练
x_val = x_train[:10000]
partial_x_train = x_train[10000:]

y_val = y_train[:10000]
partial_y_train = y_train[10000:]
history = model.fit(partial_x_train,
                    partial_y_train,
                    epochs=40,
                    batch_size=512,
                    validation_data=(x_val, y_val),
                    verbose=1)
results = model.evaluate(x_test, y_test)

print(results)

history_dict = history.history #model.fit() 返回一个History对象,该对象包含一个字典,其中包括训练期间发生的所有情况
history_dict.keys()#dict_keys(['loss', 'val_loss', 'val_accuracy', 'accuracy'])

import matplotlib.pyplot as plt

acc = history.history['accuracy']
val_acc = history.history['val_accuracy']
loss = history.history['loss']
val_loss = history.history['val_loss']

epochs = range(1, len(acc) + 1)

# "bo" is for "blue dot"
plt.plot(epochs, loss, 'bo', label='Training loss')
# b is for "solid blue line"
plt.plot(epochs, val_loss, 'b', label='Validation loss')
plt.title('Training and validation loss')
plt.xlabel('Epochs')
plt.ylabel('Loss')
plt.legend()

plt.show()

plt.clf()   # clear figure
acc_values = history_dict['accuracy']
val_acc_values = history_dict['val_accuracy']

plt.plot(epochs, acc, 'bo', label='Training acc')
plt.plot(epochs, val_acc, 'b', label='Validation acc')
plt.title('Training and validation accuracy')
plt.xlabel('Epochs')
plt.ylabel('Accuracy')
plt.legend()

plt.show()

存在过拟合现象。 在15~20次迭代训练处于峰值。模型在训练数据上的表现要优于在从未见过的数据上的表现。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是安装tensorflow-gpu的步骤: 1. 安装CUDA Toolkit和cuDNN库 TensorFlow GPU版本需要CUDA Toolkit和cuDNN库的支持。请根据您的系统环境下载适合的版本。推荐使用CUDA 10.0和cuDNN 7.4.2。下载链接如下: - CUDA Toolkit 10.0:https://developer.nvidia.com/cuda-10.0-download-archive - cuDNN 7.4.2:https://developer.nvidia.com/cudnn 安装CUDA Toolkit和cuDNN库时,请注意设置环境变量,以便TensorFlow能够找到它们。 2. 创建conda虚拟环境 您可以使用conda创建一个虚拟环境来安装和管理TensorFlow GPU版本以及其他软件包。打开终端并运行以下命令: ```bash conda create -n tensorflow-gpu python=3.7 ``` 这个命令将创建一个名为“tensorflow-gpu”的conda虚拟环境,其中Python的版本是3.7。 3. 激活conda虚拟环境 使用以下命令激活conda虚拟环境: ```bash conda activate tensorflow-gpu ``` 4. 安装TensorFlow GPU版本 通过以下命令安装TensorFlow GPU版本: ```bash pip install tensorflow-gpu==2.0.0 ``` 这个命令将安装TensorFlow 2.0.0 GPU版本。 5. 验证安装 要验证TensorFlow GPU是否正确安装,请使用以下Python代码: ```python import tensorflow as tf print(tf.test.is_gpu_available()) ``` 如果输出的结果为True,则表示TensorFlow GPU版本安装正确。 提示:安装TensorFlow GPU版本之前,请确保您的GPU支持CUDA。您可以在以下链接中查找支持CUDA的GPU:https://developer.nvidia.com/cuda-gpus

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值