tensorflow 入门 由于对numpy和opencv刚刚接触,一些基本的函数用法在此记录
array([元素1、元素2、….、元素N])
生成一个数组,数组属性有dtype
arrange(n)生成0(包含)到n(不包含)的数字的 一维数组(ndarray)
更换数组维度
1.通过修改数组的shape属性,在保持数组元素个数不变的情况下,改变数组每个轴的长度
# coding=utf-8
import numpy as np
arr1=np.arange(10)
print arr1
#变成2*5的数组
arr1.shape=2,5
print arr1
输出
[0 1 2 3 4 5 6 7 8 9]
[[0 1 2 3 4]
[5 6 7 8 9]]
2.使用数组的reshape方法,可以创建一个改变了尺寸的新数组,原数组的shape保持不变
# coding=utf-8
import numpy as np
arr1=np.arange(10)
print arr1
#生成一个新2*5的数组,原数组不为变
arr1.reshape(2,5)
print arr1
arr2 = arr1.reshape(2,5)
print arr2
#数组arry1和arry2其实共享数据存储内存区域,因此修改其中任意一个数组的元素都会同时修改另外一个数组的内容
arr1[0]= 10
print arr2
print arr1
[0 1 2 3 4 5 6 7 8 9]
[0 1 2 3 4 5 6 7 8 9]
[
[10 1 2 3 4]
[ 5 6 7 8 9]
]
[10 1 2 3 4 5 6 7 8 9]
- 使用flatten或ravel展平数组
这两个方法都不会改变原有数组
# coding=utf-8
import numpy as np
arr1=np.arange(10).reshape(2,5)
print arr1
#用 ravel 函数来展平(转成一维数组)
print arr1.ravel()
#原有数组arr1并没有变化
print arr1
#也可使用 flatten,但 flatten 函数会请求分配内存来保存结果,而ravle只是用来展现视图
print arr1.flatten()
#同样原有数组arr1也没有变化
print arr1
[[0 1 2 3 4]
[5 6 7 8 9]]
[0 1 2 3 4 5 6 7 8 9]
[[0 1 2 3 4]
[5 6 7 8 9]]
[0 1 2 3 4 5 6 7 8 9]
[[0 1 2 3 4]
[5 6 7 8 9]]
4.使用transpose方法来转置矩阵
# coding=utf-8
import numpy as np
arr1=np.arange(10).reshape(2,5)
print arr1
print arr1.transpose()
[[0 1 2 3 4]
[5 6 7 8 9]]
[[0 5]
[1 6]
[2 7]
[3 8]
[4 9]]
参考博客:http://blog.csdn.net/louisliaoxh/article/details/50203177
numpy.eye()
numpy.eye(N,M=None, k=0, dtype)
关注第一个第三个参数就行了
第一个参数:输出方阵(行数=列数)的规模,即行数或列数
第三个参数:默认情况下输出的是对角线全“1”,其余全“0”的方阵,如果k为正整数,则在右上方第k条对角线全“1”其余全“0”,k为负整数则在左下方第k条对角线全“1”其余全“0”。