Applications of Deep Neural Networks with Keras
基于Keras的深度神经网络应用
著:Jeff Heaton 译:人工智能学术前沿
目录
1.Python基础
2.机器学习Python
3.TensorFlow简介
4.表格类数据的训练
5.正则化和Dropout
6.用于计算机视觉的卷积神经网络
7.生成对抗网络
8.Kaggle数据集
9.迁移学习
10.Keras的时间序列
11.自然语言处理与语音识别
12.强化学习
13.Advanced/Other Topics
14.其他神经网络技术
Part 1.4: File Handling
文件通常包含你用来训练人工智能程序的数据。经过训练后,您的模型可以使用实时数据来形成预测。这些预测可能也有记录。不管你是在预测还是在训练,文件处理对人工智能从业者来说都是一项重要的技能。
作为人工智能从业者,有许多不同类型的文件必须处理。以下列出了其中一些文件类型:
1.CSV文件(通常具有. CSV扩展名)包含类似于电子表格数据的表格数据。
2.图像文件(通常扩展名为.png或.jpg)保存计算机视觉所需的图像。
3.文本文件(通常以.txt扩展名)保存非结构化文本,是自然语言处理的关键。
4.JSON(通常有. JSON扩展名)包含半结构化的文本数据,以人类可读的基于文本的格式。
5.H5(可以有很多扩展)包含以人类可读的基于文本格式的半结构化文本数据。Keras和TensorFlow将神经网络存储为H5文件。
6.音频文件(通常有一个扩展名,如.au或.wav)包含录制的声音。
数据可以来自多种来源。在本类中,我们从三个主要位置获取数据:
Read a CSV File
Python程序可以使用Pandas读取CSV文件。我们将在下一节中看到更多关于Pandas的内容,但目前,它的一般格式是:
import pandas as pd df = pd.read_csv("https://data.heatonresearch.com/data/t81-558/iris.csv")
上面的命令从互联网加载Fisher的Iris数据集。它可能需要几秒钟的时间来加载,因此最好将加载代码保存在一个单独的Jupyter笔记本单元格中,这样在测试程序时就不必重新加载它。您可以通过这种方式加载Internet数据、本地硬盘和谷歌驱动器数据。
现在已经加载了数据,可以使用这个命令显示前5行。
display(df[0:5])
Read (stream) a Large CSV File
Pandas通常把整个CSV文件读入内存。然而,有时您可能希望“stream”一个巨大的文件。stream允许您一次处理一个记录。当文件大到不能够全部加载到内存时,你可以使用Stream处理一个巨大文件的部分记录。
下面的代码加载Iris数据集并计算平均值,每次一行。这种技术适用于大文件。
import csv import urllib.request import codecs import numpy as np url = "https://data.heatonresearch.com/data/t81-558/iris.csv" urlstream = urllib.request.urlopen(url) csvfile = csv.reader(codecs.iterdecode(urlstream, 'utf-8')) next(csvfile) # Skip header row sum = np.zeros(4) count = 0 for line in csvfile: # Convert each row to Numpy array line2 = np.array(line)[0:4].astype(float) # If the line is of the right length (skip empty lines), then add if len(line2) == 4: sum += line2 count += 1 # Calculate the average, and print the average of the 4 iris # measurements (features) print(sum/count)
输出
[5.84333333 3.05733333 3.758 1.19933333]
Read a Text File
下面的代码将美国独立宣言(USA Declaration of Independence)读为文本文件。这段代码将文档流化并逐行读取。这段代码可以处理一个巨大的文件。
import urllib.request url = "https://data.heatonresearch.com/data/t81-558/datasets/sonnet_18.txt" with urllib.request.urlopen(url) as urlstream: for line in codecs.iterdecode(urlstream, 'utf-8'): print(line.rstrip())
Read an Image
计算机视觉是神经网络优于其他模型的领域之一。为了支持计算机视觉,Python程序员需要了解如何处理图像。在本课程中,我们将使用Python PIL包进行图像处理。下面的代码演示了如何从URL加载图像并显示它。
%matplotlib inline from PIL import Image import requests from io import BytesIO url = "https://upload.wikimedia.org/wikipedia/commons/9/92/Brookings.jpg" response = requests.get(url) img = Image.open(BytesIO(response.content)) img