python第一步
python第一步
- numpy
import numpy as np
a=np.array([1,2,3,45])#创建以为的narray
a2=np.array([[1,2,3,4,5],[6,7,8,9,10]])
print(a[0:1])#截取第一行,返回[[1 2 3 4 5]]
print(a[1,2:5])#截取第二行,第三、四、五列,返回[8,9,10] 包括2不包括5
print(a[1,:])#截取第二行,返回[6 7 8 9 10]
矩阵合并
a1=np.array([[1,2],[3,4]])
a2=np.array([[5,6],[7,8]])
print(np.hstack([a1,a2]))#参数传入时要以列表list或元组tuple的形式传入
#横向合并
[[1 2 5 6]
[3 4 7 8]]
print(np.vstack((a1,a2)))
#纵向合并
[[1,2]
[3,4]
[5,6]
[7,8]]
矩阵的合并也可以通过concatenate方法
np.concatenate((a1,a2),axis=0)等价于np.vstack((a1,a2))
np.concatenate((a1,a2),axis=1)等价于np.hstack((a1,a2))
- 2
one-hot encoding
one-hot编码,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效
from sklearn import preprocessing
enc = preprocessing.OneHotEncoder()
enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1], [1, 0, 2]])
enc.transform([[0, 1, 3]]).toarray()
输出结果:
array([[1., 0., 0., 1., 0., 0., 0., 0., 1.]])
- 3 argparse
argparse是python用于解析命令行参数和选项的标准模块,作用是解析命令行参数
使用步骤
import argparse
parser=argparse.ArgumentParser()
parser.add_argument()
parser.parse_args()
解析:首先导入模块,然后创建一个解析对象,然后向该对象中添加你要关注的命令行参数和选项,每一个add_argument方法对应一个你要关注的参数或选项,最后调用parse_args方法进行解析
4、tf.palceholder
一个占位符
p=tf.placeholder(tf.float32)
t=p+1.0
t.eval()#失败
t.eval(feed_dict={p:2.0})#feed数据到placeholder,ok
5、dict
(1)字典的介绍 d={key1:value1,key2:value2}
dictionary是python中最有用的数据类型,字典是无需的对象集合
字典当中的元素是通过键来存取的,而不是通过偏移存取
字典是一种映射类型,他是一个无序的键:值对集合
和字符串一样,list可以被索引和切片
key必须使用不可变类型,必须是唯一的(不可变元素:数字,字符串,元组)
(2)字典创建
使用花括号
dict={key1:values,key2:values}
或者d=dict{},再添加相应的元素
使用内联函数dict()
d=dict()
6、tfrecord
7、expand_dims
作用:增加一个维度
假设一个数组A,A是一个两行三列的矩阵,记为(2,3),第0维,是‘2’行,第‘1’维,是‘3’列
这个函数的作用,就是在第‘axis’维,加一个维度出来,原先的‘维’,推到右边去
eg 设置axis=0,则A矩阵大小变为(1,2,3),就从2*3的二维矩阵变成了1*2*3的三维矩阵;如果设置axis为1 则矩阵变成(2,1,3),变成了2*1*3的三维矩阵,axis为2的时候,就变成了(2,3,1)
8、TensorFlow高阶读写
最常用的使用tf.placeholder(),使用这个方法我们需要提前处理好数据格式
parse_example是把example解析为词典型的tensor
def perse_example(serialized,features,name=None,example_nams=None)
serialized:一个batch的序列化的example
features,解析example的规则
name:当前操作的名字
example_name:当前解析example的proto名称
features是把serialized的example中按照键值映射到三中tensor:(1)varlenFeature(2)SparseFeature(3)FixedLenFeature
有符号类型
9、TensorFlow中的数据类型dtype
有符号类型
tf.int8: 8位整数
tf.int16: 16位整数
tf.int32:32位整数
tf.int64:64位整数
无符号类型
tf.uint8:8位无符号整数
tf.uint16:16位无符号整数
浮点型
tf.float16:16位浮点数
tf.float32:32位浮点数
tf.float64:64位浮点数
tf.double:等同于tf.float64
字符串型
tf.string :字符串
布尔型
tf.bool:布尔型
复数型
tf.complex64:64位复数
tf.complex128:128位复数
10 tf.reshape
reshape就是把矩阵的形状转一下