Python包学习笔记(持续更新)

1、np.newaxis 的功能是插入新维度。

import numpy as np
  • Demo 1:
a=np.array([1,2,3,4,5])
b=a[np.newaxis,:]
print a.shape,b.shape
print a
print b

输出结果:

(5,) (1, 5)
[1 2 3 4 5]
[[1 2 3 4 5]]
  • Demo 2:
a=np.array([1,2,3,4,5])
b=a[:,np.newaxis]
print a.shape,b.shape
print a
print b

输出结果

(5,) (5, 1)
[1 2 3 4 5]
[[1]
 [2]
 [3]
 [4]
 [5]]

可以看出np.newaxis分别是在行或列上增加维度,原来是(5,)的数组,在行上增加维度变成(1,5)的二维数组,在列上增加维度变为(5,1)的二维数组。

2、tf.cast(x, dtype, name=None):Casts a tensor to a new type.
将x的数据格式转化成dtype。例如,原来x的数据格式是bool,那么将其转化成float以后,就能够将其转化成0和1的序列。

a = tf.Variable([1,0,1])
b = tf.cast(a,dtype=tf.bool)
sess = tf.Session()
sess.run(tf.initialize_all_variables())
print(sess.run(b))

输出:

#[ True False True]

3、 tf.argmax(input, axis=None, name=None, dimension=None, output_type=tf.int64):Returns the index with the largest value across axes of a tensor. (deprecated arguments)
返回的是input中的最大值的索引号,如果input是一个向量,那就返回一个值,如果是一个矩阵,那就返回一个向量,这个向量的每一个维度都是相对应矩阵行的最大值元素的索引号, axis=1时返回行最大值下标,axis=0时返回列最大值下标。

A = [[1,3,4], [2,4,1]]  

with tf.Session() as sess:  
    print(sess.run(tf.argmax(A, 1)))  
    print(sess.run(tf.argmax(A, 0)))  

输出:

[2 1]
[1 1 0]

4、Optimizer:
tf.train.GradientDescentOptimizer
tf.train.AdadeltaOptimizer
tf.train.AdagradOptimizer
tf.train.AdagradDAOptimizer
tf.train.MomentumOptimizer
tf.train.AdamOptimizer
tf.train.FtrlOptimizer
tf.train.ProximalGradientDescentOptimizer
tf.train.ProximalAdagradOptimizer
tf.train.RMSPropOptimizer
各种优化器对比:
标准梯度下降法:标准梯度下降先计算所有样本汇总误差,然后根据总误差来更新权值
随机梯度下降法:随机梯度下降随机抽取一个样本来计算误差,然后更新权值
批量梯度下降法:批量梯度下降算是一种折中的方案,从总样本中选取一个批次(比如一共有10000个样本,随机选取100个样本作为一个batch),然后计算这个batch的总误差,根据总误差来更新权值。

5、ord()函数主要用来返回对应字符的ascii码,chr()主要用来表示ascii码对应的字符他的输入时数字,可以用十进制,也可以用十六进制。

猜你喜欢

转载自blog.csdn.net/zw__chen/article/details/79351463
今日推荐