如何使用Python训练Illiad数据集?
Tensorflow是由Google提供的机器学习框架。它是一个开源框架,与Python一起使用来实现算法、深度学习应用等等。它可用于研究和生产。它有优化技术,可帮助快速执行复杂的数学运算。这是因为它使用NumPy和多维数组。这些多维数组也被称为“tensors”。该框架支持深度神经网络的工作。
使用以下代码在Windows上安装“tensorflow”包−
pip install tensorflow
Tensor是在TensorFlow中使用的数据结构。它有助于连接流程图中的边缘。这个流程图被称为“数据流图”。张量就是多维数组或列表。
我们将使用Illiad数据集,其中包含来自William Cowper、Edward Derby伯爵和Samuel Butler的三个翻译作品的文本数据。当给出一个单独的文本行时,将模型训练为识别翻译。所使用的文本文件已进行预处理。这包括删除文档头和页眉、行号和章节标题。
我们使用Google Colaboratory来运行下面的代码。Google Colab或Colaboratory可以在浏览器上运行Python代码,并且不需要任何配置和免费访问GPU(图形处理单元)。Colaboratory是建立在Jupyter Notebook之上的。
更多Python相关文章,请阅读:Python 教程
例子
以下是代码片段−
vocab_size += 2
print("对数据集进行更好的性能配置")
train_data = configure_dataset(train_data)
validation_data = configure_dataset(validation_data)
print("训练模型")
model = create_model(vocab_size=vocab_size, num_labels=3)
model.compile(
optimizer='adam',
loss=losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=['accuracy'])
print("使训练数据适合模型")
history = model.fit(train_data, validation_data=validation_data, epochs=3)
print("查找与训练相关的精度和损失")
loss, accuracy = model.evaluate(validation_data)
print("损失是 : ", loss)
print("精度是 : {:2.2%}".format(accuracy))
代码来源− https://www.tensorflow.org/tutorials/load_data/text
输出
对数据集进行更好的性能配置
训练模型
使训练数据适合模型
Epoch 1/3
697/697 [==============================] - 35s 17ms/step - loss: 0.6891 - accuracy: 0.6736 -
val_loss: 0.3718 - val_accuracy: 0.8404
Epoch 2/3
697/697 [==============================] - 8s 11ms/step - loss: 0.3149 - accuracy: 0.8713 -
val_loss: 0.3621 - val_accuracy: 0.8422
Epoch 3/3
697/697 [==============================] - 8s 11ms/step - loss: 0.2165 - accuracy: 0.9162 -
val_loss: 0.4002 - val_accuracy: 0.8404
查找与训练相关的精度和损失
79/79 [==============================] - 1s 2ms/step - loss: 0.4002 - accuracy: 0.8404
损失是 : 0.40021833777427673
精度是 : 84.04%
解释
-
模型是基于预处理的向量化数据进行训练的。
-
训练后,进行编译并适配到模型中。
-
使用’evaluate’方法评估与模型相关的损失和精度。
-
这些数据在控制台上显示出来。