Python 库函数

自带函数

zip()

zip([一个或者多个迭代器,...])

打包为元组。
例如:

1
2
3
4
5
6
a = [1, 2, 3]
b = [4, 5, 6]
p = zip(a,b)
>> p = [(1,4), (2,5),(3,6)]
q = zip(*p)
>> q = [(1,2,3),(4,5,6)]

numpy

std

numpy.std(a, axis=None)
  • a:计算a的标准差
  • axis:
    • 0 计算每一列的标准差
    • 1 计算每一行的标准差
    • None 计算全局标准差

digitize

numpy.digitize(x, bins, right=False)

返回一个和x相同大小的列表,返回值中的元素对应x元素落在bins区间的索引号。

argmax 返回列表的最大值索引值

random 随机数

choice

choice(a, size=None, replace=True, p=None)

  • a 序列
  • size 采样的数量,可以是整数,可以是tuple(m,n,k)
  • replace 采样的样本是否需要更换。False时样本不会重复。
  • p 一维数组,指定a中每个元素采样的概率。默认相同

tensorflow

math

clip_by_global_norm

tf.clip_by_global_norm( t_list, clip_norm, use_norm=None, name=None)
  • t_list 元组、列表或者混合张量
  • clip_norm 一个标量,大于0。剪裁率
  • use_norm 浮点数标量
    给定张量 t_list 的元组或列表,以及裁剪率 clip_norm,此操作返回裁剪张量列表 list_clipped 和 t_list
    中所有张量的全局范数 (global_norm)。或者,如果您已经计算了 t_list 的全局范数,则可以使用 use_norm 指定全局范数。

reduce_mean

tf.math.reduce_mean(input_tensor, axis=None, keepdims=False, name=None)
  • input_tensor 输入的张量
  • axis
    • 缺省,则输出的值为张量所有值的平均值,为一个数字。
    • 0,输出一个向量,沿着纵向取平均值
    • 1,沿着横向取平均值
  • keepdims true表示保留长度为1的缩减维度。

reduce_sum

tf.math.reduce_sum(input_tensor, axis=None, keepdims=False, name=None)

输入与mean相同。

  • axis
    • 缺省,表示张量的所有值相加
    • 0,纵向相加
    • 1,横向相加,返回横向量。
  • keepdims 为True时,且axis为1,返回列向量

squeeze

https://www.tensorflow.org/api_docs/python/tf/squeeze

tf.squeeze(input, axis=None, name=None)

给定一个输入张量。默认移除数量为1的维度。如果axis有值,则移除axis列表对应索引的值。

  • input 输入,是一个张量。
  • axis 一个列表,指的是张量的索引。

kereas

layers

Dense

tf.keras.layers.Dense(
    units,
    activation=None,
    use_bias=True,
    kernel_initializer='glorot_uniform',
    bias_initializer='zeros',
    kernel_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    kernel_constraint=None,
    bias_constraint=None,
    **kwargs
)
  • units 正整数,输出的维度
  • activation 激活函数
    • sigmoid
    • relu
    • tf.nn.relu
    • tf.nn.softmax
  • use_bias 布尔型 层是否使用bias向量
    目前暂时只需要前两个参数。

Flatten

tf.keras.layers.Flatten()

将2D层转化为1D向量,只是重排向量。

Conv2D 定义卷积层

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
tf.keras.layers.Conv2D(
filters,
kernel_size,
strides=(1, 1),
padding='valid',
data_format=None,
dilation_rate=(1, 1),
groups=1,
activation=None,
use_bias=True,
kernel_initializer='glorot_uniform',
bias_initializer='zeros',
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
**kwargs
)
  • filters 输出的维度。即输出的层的数量。
  • kernel_size 核的大小。可以是整数或者矩阵。
  • padding 是否填充0。指在输入层的周围填充0。vaild表示不填充,same表示填充一圈0。

MaxPool2D 定义最大池化层

1
2
3
4
5
6
7
tf.keras.layers.MaxPool2D(
pool_size=(2, 2),
strides=None,
padding='valid',
data_format=None,
**kwargs
)
  • pool_size 池化核大小
  • strides 池化核移动的步长

optimizers

SGD 随机梯度下降法

tf.keras.optimizers.SGD(learning_rate = 0.1)

Model

compile

compile

fit 测试拟合程度

evaluate

test_loss, test_acc = model.evaluate(x=test_images, y=test_labels)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
evaluate(
x=None,
y=None,
batch_size=None,
verbose='auto',
sample_weight=None,
steps=None,
callbacks=None,
max_queue_size=10,
workers=1,
use_multiprocessing=False,
return_dict=False,
**kwargs
)
  • x 输入数据
  • y 目标数据

predict

1
2
3
4
5
6
7
8
9
10
predict(
x,
batch_size=None,
verbose='auto',
steps=None,
callbacks=None,
max_queue_size=10,
workers=1,
use_multiprocessing=False
)
  • x 输入的采样点,可以是:
    • numpy矩阵,或者矩阵列表
    • tensorflow张量,或者张量列表
    • tf.data 数据集

functools

Python标准模块,提供了一些常用的高阶函数,也就是用于处理其它函数的特殊函数。

partial

functools.partial(func[, *args][, **keywords])

将对象的缺省默认值修改为args中的值。
例如:

1
2
3
int('10') # 输出为10
int2 = partial(int, base=2) # base就是keywords
int2('10') # 输出为2
  • func 可调用的对象或者函数。调用partial对象会转为使用新的参数和关键字参数调用func。
  • args 最左边的位置参数作为优先位置参数提供给partial对象调用。
  • keywords 对象被调用时提供关键字参数