如何使用Tensorflow在Python中下载和探索IMDB数据集?

如何使用Tensorflow在Python中下载和探索IMDB数据集?

Tensorflow是由Google提供的机器学习框架。它是一个开源框架,与Python一起使用以实现算法、深度学习应用程序等等。它用于研究和生产目的。

这是因为它使用NumPy和多维数组。这些多维数组也称为“张量”。该框架支持与深度神经网络一起工作。它具有高度的可扩展性,并带有许多流行的数据集。它使用GPU计算并自动化资源管理。它配备了大量的机器学习库,并且得到了良好的支持和文档。该框架能够运行深度神经网络模型、训练它们,并创建应用程序,以预测相应数据集的相关特征。

可以使用以下代码在Windows上安装’tensorflow’包 −

pip install tensorflow
Python

Tensor是TensorFlow中使用的数据结构。它有助于连接流程图中的边缘。此流程图称为”数据流图”。张量不过是多维数组或列表。它们可以使用以下三个主要属性进行识别 −

“IMDB”数据集包含超过50,000部电影的评论。通常与自然语言处理相关的操作使用该数据集。

我们使用Google Colaboratory运行以下代码。Google Colab或Colaboratory可以在浏览器上运行Python代码,不需要任何配置,并免费使用GPU(图形处理单元)。Colaboratory是建立在Jupyter Notebook之上的。

以下是代码 −

更多Python相关文章,请阅读:Python 教程

示例

import matplotlib.pyplot as plt
import os
import re
import shutil
import string
import tensorflow as tf

from tensorflow.keras import layers
from tensorflow.keras import losses
from tensorflow.keras import preprocessing
from tensorflow.keras.layers.experimental.preprocessing import TextVectorization
print("The tensorflow version is ")
print(tf.__version__)
url = "https://ai.stanford.edu/~amaas/data/sentiment/aclImdb_v1.tar.gz"

dataset = tf.keras.utils.get_file("aclImdb_v1.tar.gz", url,
                                    untar=True, cache_dir='.',
                                    cache_subdir='')
print("The dataset is being downloaded")
dataset_dir = os.path.join(os.path.dirname(dataset), 'aclImdb')
print("The directories in the downloaded folder are ")
os.listdir(dataset_dir)

train_dir = os.path.join(dataset_dir, 'train')
os.listdir(train_dir)
print("The sample of data : ")
sample_file = os.path.join(train_dir, 'pos/1181_9.txt')
with open(sample_file) as f:
  print(f.read())

remove_dir = os.path.join(train_dir, 'unsup')
shutil.rmtree(remove_dir)
batch_size = 32
seed = 42
print("The batch size is")
print(batch_size)

raw_train_ds = tf.keras.preprocessing.text_dataset_from_directory(
    'aclImdb/train',
    batch_size=batch_size,
    validation_split=0.2,
    subset='training',
    seed=seed)

for text_batch, label_batch in raw_train_ds.take(1):
  for i in range(3):
    print("Review", text_batch.numpy()[i])
    print("Label", label_batch.numpy()[i])
 
print("Label 0 corresponds to", raw_train_ds.class_names[0])
print("Label 1 corresponds to", raw_train_ds.class_names[1])
raw_val_ds =tf.keras.preprocessing.text_dataset_from_directory(
    'aclImdb/train',
    batch_size=batch_size,
    validation_split=0.2,
    subset='validation',
    seed=seed)
raw_test_ds = tf.keras.preprocessing.text_dataset_from_directory(
    'aclImdb/test',
    batch_size=batch_size)
Python

代码来源 https://www.tensorflow.org/tutorials/keras/text_classification

输出结果

TensorFlow版本是
2.4.0
数据集正在下载中
下载文件夹中的目录有
数据的样本:
Rachel Griffiths编写并执导了这部获奖的短片。这是一个关于如何应对悲伤和珍惜我们所爱和失去的人的温馨故事。尽管只有15分钟,但是Griffiths在短暂的时间内成功地在电影上捕捉到了非常多的情感和真理。Bud TingwellWill的角色为我们呈现了一次感人的表演:一位寡妇试图应对妻子的去世。Will面对着孤独和无助的残酷现实,因为他继续照顾Ruth的宠物奶牛Tulip。该电影展现了人们对所爱和失去的人所感到的悲伤和责任。好的摄影、伟大的导演和杰出的表演带给我们落泪的感觉,它将为所有失去过所爱之人却幸存下来的人带来泪水。
批量大小是
32
找到25000个文件,属于2个类别。
使用20000个文件进行训练。
评论 b'"Pandemonium"是一个恐怖电影的恶搞,但比搞笑更傻。相信我告诉你,我喜欢喜剧,特别是搞笑电影。 “飞机大战即将开始”、“裸枪”三部曲、“热烈欢迎”、“高度焦虑”和“太空无穷大”是我最喜欢的一些搞笑电影,它们戏仿了特定的流派。 "Pandemonium"不属于那些电影的行列。我坐在那里被电影中大多数场景震惊了,因为电影并不是非常有趣。电影中有一些笑声,但是当你看一个喜剧时,你期望会笑的比几次多得多,但这部电影唯一能引起观众兴趣的就是几次笑声。天哪,“尖叫”比这部电影更具喜剧性,而那是一部更恐怖的电影。多么奇怪啊!

*1/2(四分之一)'
标签0
评论 b"David Mamet是一个非常有趣且非常不平等的导演。他的第一部电影《游戏之家》是我最喜欢的一部,它开启了一系列电影,其中角色的生活观会随着进入复杂情境而发生变化,观众的视角也会发生变化。

这也是“杀人”要做到的事情,从标题上就试图使观众的思维到达通常的犯罪剧情。主要角色是两个警察,一个犹太人,一个爱尔兰人,他们处理一个种族问题升级的地区。一个老犹太店主被谋杀,证明他是以色列独立战争的老兵,这激发了犹太侦探心中对犹太身份的认同。

这是电影缺陷最为明显的地方。觉醒过程太过夸张且难以置信,犹太激进分子的形象不够真实,侦探最终走向暴力对抗的方式令人无所适从。电影本身的结局类似Mamet的作品一样聪明,但令人失望的是,从人类情感的角度来看,它不够充实。

Joe Mantegna和William Macy表现出色,但故事的缺陷太明显,难以轻易弥补。”
标签0
评论 b'伟大的纪录片,讲述了纽约消防员在有史以来最严重的恐怖袭击中的生活。这就是为什么它应该成为必看的收藏品的原因。令我震惊的不仅仅是恐怖袭击,而是一些消防员的“高脂饮食”和身体状况。我认为很多医生会同意我的看法,在物质条件艰苦的情况下,有些消防员的身体状况下去的话是不可能的。话虽如此但我现在更加尊重消防员,我也意识到成为一名消防员对人生有着深远的影响。法国人在制作优秀的纪录片方面有着悠久的历史,这就是——一个伟大的纪录片.....'
标签1
标签0对应负
标签1对应正
找到25000个文件,属于2个类别。
使用5000个文件进行验证。
找到25000个文件,属于2个类别。
Python

说明

  • 要导入所需的软件包并进行别名设置。

  • 加载IMdB数据并将其存储在Colab可访问的位置。

  • 在控制台上显示原始数据的样本。

  • 将原始数据分成训练集和测试数据集。

  • 使用训练数据构建模型。

  • 尝试将给定的数据分类为负面评价或正面评价。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册