Numpy 数组的基本操作
import numpy as np # 生成二维数组和一维数组 train_x = np.array([[1, 1], [1, 2], [3, 4], [5, 2]]) train_y = np.array([[-2], [-3], [-7], [-7]]) # 获取数组维度即轴的个数 print train_x.ndim # 获取数组的各个维度的长度 print train_x.shape # 数组支持打印 print train_y #逐个打印数组中的元素 for i in train_x: print i
迭代器
在使用Paddle时,可以通过创建迭代器iterator来组合数据与标签。
可以通过Python generator来创建迭代器,即generator是一个能够返回迭代器对象的函数。
定义generator函数与普通函数是类似的,仅是在返回值时使用yield即可。
创建Paddle中使用的reader¶
在Paddle中reader是一个函数对象,不能直接进行迭代,但该函数对象的执行结果是一个迭代器,可以从中获取数据内容:
- test_data_creator = paddle.dataset.uci_housing.test(),其中test_data_creator是一个函数对象
- test_data_creator()则是一个迭代器对象 获取reader中数据内容的代码样例如下所示,其中test_data是个列表,是可以打印的:
test_data_creator = paddle.dataset.uci_housing.test() test_data = [] test_label = [] for item in test_data_creator(): test_data.append((item[0],)) test_label.append(item[1]) if len(test_data) == 5: break
- PaddlePaddle内置的数据集,其实并没有提供查看函数,要想了解数据,最直接的还是从原地址下载查看。
启动paddlepaddle/book镜像后,可以在/usr/local/lib/python2.7/dist-packages/paddle/v2/dataset目录下查看各个数据集的定义的源代码,从中可以获取下载路劲