1.为数据增加维度
# Price是一个1行5列的矩阵,注意列表是两层,表示是二维的:[ [] ]
Price = np.array([[15.90, 16.26, 10.1, 19.19, 25.33]])
# 生成的是一个1维矩阵
mylist = np.array([1, 2, 3])
# 在1维矩阵的基础上增加一个维度,成为2维矩阵
mylist2 = mylist.[:, np.newaxis]
2.关于使用MNIST数据
tensorflow提供了读取数据并解压的方法,只需要引入包:
import tensorflow as tf
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data
mnist_data = input_data.read_data_sets('MNIST_data', one_hot = True)
# 打印输出数据的维度信息,验证是否正确打开了数据
print (mnist_data.train.images.shape, mnist_data.train.labels.shape)
如果正确打开了数据,会显示(55000,784)和(55000,10)。
这里需要注意,在当前python程序目录下,建一个MNIST_data的目录,
把网上下的训练文件和测试文件共4个原样放进去,不能改文件名,必须是:
'train-images-idx3-ubyte.gz'、'train-labels-idx1-ubyte.gz'、
't10k-images-idx3-ubyte.gz'、't10k-labels-idx1-ubyte.gz'。
3.矩阵形状调整:np.reshape()
例如,要求一个二维矩阵的全部元素之和,可以转化为1维的,再用np.sum()去求和。可以这么做:
mat1 = gray_img1[0:3, 0:3] # gray_img1是cv2.imread()读入的一个灰度图像数据,是一个二维的矩阵
linear_mat = np.reshape(gray_img1, (gray_img1.size, )) # 把二维数据展开成1维的,方便求和