Numpy Readme

常用参数说明

  • 函数书写说明同Python全局
  • 以下常用参数如不特殊注明,按照此解释

NDArray常用参数

基本数组参数

  • size=None(1)/int/Tuple[int]

  • shape=None/int/Tuple[int]

    • 含义:NDArray形状
      • int:1维时可直接用整数表示shape
      • tuple:高维至低维指定哥维度大小
        • -1:由整个size、其余维度推断该维度大小
    • 默认:None1
  • dtype=None/str/list/dict/np.dtype/...

    • 含义:指定输出数组数据类型
      • None:保证精度情况下自动选择数据类型
      • strlistdict:可转换为数据类型
      • np.dtypenp.dtype实例
    • 默认值:None,有内部操作,选择合适、不影响精度类型
  • order="K"/"C"/"F"/"A"

    • 含义:指定数组对象(输出)内存布局、迭代顺序
      • "C":C-contiguous风格,行优先
      • "F":Fortran-contiguous风格,列优先
      • "A":除非所有参数数组均为Fortran风格,否则 为C风格
      • "K":尽量贴近已有内存布局,原为”C”/“F”方式则 保持不变,否则选择较接近的风格
    • 默认值:”C”/“K”
  • casting="same_kind","no","equiv","safe","unsafe"

    • 含义:类型转换规则
      • no:不允许任何类型转换
      • equiv:仅允许字节顺序改变
      • safe:仅允许可保证数据精度的类型转换
      • same_kind:只能允许safe或同类别类型转换
      • unsafe:允许所有类型转换
    • numpy 1.10及以上版本,缺省为"same_kind"

结果参数

  • out=None/Tuple[Array]/Array

    • 含义:保存结果的变量
      • None:由函数自行分配空间
      • tuple:需要存储多个输出结果的变量元组
      • Array:仅需要保存单个输出结果的变量元组
    • 默认:None
    • 函数自行分配空间不会初始化,即若其中某些元素未被设置 值,则其值不可预测,如
      • whereTrue时,False对应元素
  • keepdims=False/True

    • 含义:是否维持原维数
      • True:保留本应被缩减的维度,并设置维度长为1
        • 保证结果和输入操作数广播兼容
      • False:不保持维数不变
    • 默认:False
  • subok=True/False

    • 含义:是否允许数组子类作为输出
      • True:允许
      • False:不允许
    • 默认:True

标记参数

  • where=True/False/Array[bool]

    • 含义:指示符合条件、需执行操作的bool map
      • True:广播为全True,所有元素
      • False:广播为全False,所有元素都不
      • Array[bool]True表示对应位置的元素满足条件 (需要和输入操作数广播兼容)
  • weekmask="1111100"/str/list

    • 含义:指示一周内工作日
      • 字符串
        • 10按顺序表示周一到周日为、非工作日
        • 空白符、驼峰分割周一至周日全称或缩写
      • 列表:01按顺序表示周一到周日为、非工作日
  • condition=Array[bool,int]

    • 含义:指示符合条件、需要执行操作的bool map
      • Array[bool]True表示对应位置的元素满足条件
      • Array[int]:根据是否为0转换为bool数组

Py3std Readme

常用参数说明

  • 函数书写声明同Python全局说明
  • 以下常用参数如不特殊注明,按照此解释

Common

Stream

  • mode="r"/"w"/"a"/"+"/"t"/"b"

    • 含义:文件/管道打开模式
      • t:文本,可省略
      • b:二进制
      • r:读,默认
      • w:写
      • a:追加,大部分支持
      • +:更新模式,同时允许读写
        • r+:文件已存在,读、写
        • w+:清除之前内容,读、写
        • a+:读、追加写
    • 默认:rt/r
  • buffering/bufsize = -1/0/1/int

    • 含义:缓冲模式
      • 0:不缓冲,只在二进制模式中被运行
      • 1:逐行缓冲,只在文本模式中有效
      • 其他正整数:指定固定大小chunk缓冲的大小
      • -1:全缓冲
        • 普通二进制、文本,缓冲chunks大小启发式确定, io.DEFAULT_BUFFER_SIZE查询
        • 终端交互流(.isatty()),逐行缓冲
    • 默认:-1
  • encoding(str)

    • 含义:文件编码
      • utf-8
      • utf-16
      • utf-16-le
      • utf-16-be
      • utf-32
      • gbxxxx
      • 待续
    • 缺省:使用locale.getpreferedencoding()返回值

Threading/Processing

  • block/blocking = True/False

    • 含义:是否阻塞
    • 默认:大部分为True(阻塞)
    • 其他
      • 对返回值不是bool类型的函数,非阻塞时若无法进行 操作,往往会raise Exception
  • timeout = None/num

    • 含义:延迟时间,单位一般是秒
    • 默认:None,无限时间
    • 其他
      • block=False时,一般timeout参数设置无效
  • fn/func/callable(callable)

    • 含义:可调用对象
    • 默认:一般默认值
    • 其他
      • 实参可以是任何可调用对象
        • 函数
        • 方法
        • 可调用对象
  • args = ()/None/tuple/list/*args(arg_1, ...)

    • 含义:函数位置参数
    • 默认:()/None,无参数
  • kwrags/kwds = {}/None/dict/**kwargs(kwarg_1=v1, ...)

    • 含义:函数关键字参数
    • 默认:{}/None,无参数
  • callback=callable

    • 含义:回调函数
      • 异步线程、进程调用才会有该参数
      • 回调函数接收进程/线程返回值作为参数
      • 回调函数最好有返回值,否则会阻塞进程、线程池
    • 默认:None,无参数
  • chunksize=None/1/int

    • 含义:一次传递给子进程的迭代器元素数量
      • 常在进程池迭代调度函数中,较大的chunksize 能减少进程间通信消耗,但会降低灵活性
      • 线程调度相关函数该参数被忽略
    • 默认:None/1,一次传递一个元素
  • daemon=False/None/True

    • 含义:是否为守护进程/线程
      • 默认情况下,主进程(线程)会等待子进程、线程退出 后退出
      • 主进程(线程)不等待守护进程、线程退出后再退出
      • 注意:主进程退出之前,守护进程、线程会自动终止

Python命令行参数

  • -c:解释执行语句
  • -u:强制输入、输出流无缓冲,直接输入,默认全缓冲

Pandas Readme

常用参数说明

  • 函数书写声明同Python全局
  • 以下常用参数如不特殊注明,按此解释

DataFrame

  • axis=0/1/"index"/"columns"

    • 含义:作用方向(轴)
    • 默认:0/"index",一般表示row-wise(行变动)方向
  • inplace=False/True

    • 含义:是否直接在原对象更改
    • 默认:False,不更改,返回新DF对象(为True时无返回值)
    • 其他
      • 大部分df1.func()类型函数都有这个参数
  • level=0/1/level_name...

    • 含义:用索引层级
    • 默认:部分默认为0(顶层级)(也有默认为底层级), 所以有时会如下给出默认值
      • t(top):顶层级0(仅表意)
      • b(bottom):底层级-1(仅表意)
      • 默认值为None表示所有层级

Pandas非必须依赖包

文件相关

  • Excel
    • xlrd/xlwtxls格式读写,速度较快
    • openpyxlxlsx格式读写,速度较慢

Pandas版本

  • 0.22.x

    • flaot类型可作为Categorical Index成员,不能被用于 loc获取值
  • l.1.1

    • astype方法不支持pd.Timestamp类型,只能用 "datetime64"替代
  • ALL

    • Category Series作为groupby聚集键时,类别元素都会 出现在聚集结果中,即使其没有出现在seris值中
    • setfrozenset被认为是list-like的indexer,所以 在索引中的frozenset无法用一般方法获取

      1
      df.iloc[list(df.index).index(fronzenset)]

Keras Readme

常用参数说明

  • 函数书写声明同Python全局说明
  • 以下常用参数如不特殊注明,按照此解释

Common

  • seed=None/int

    • 含义:随机数种子
  • padding="valid"/"same"/"causal"

    • 含义:补0策略
      • “valid”:只进行有效有效卷积,忽略边缘数据,输入 数据比输出数据shape减小
      • “same”:保留边界处卷积结果,输入数据和数据shape 相同
      • “causal”:产生膨胀(因果卷积),即output[t] 不依赖input[t+1:],对不能违反时间顺序的时序 信号建模时有用
    • 默认:valid

Layers

  • input_shape=None/(int,...)

    • 含义:输入数据shape
      • Layers只有首层需要传递该参数,之后层可自行推断
      • 传递tuple中None表示改维度边长
    • 默认:None,由Layers自行推断
  • data_format=None/"channels_last"/"channels_first"

    • 含义:通道轴位置
      • 类似于dim_ordering,但是是Layer参数
    • 默认
      • 大部分:None由配置文件(默认”channels_last”) 、环境变量决定
      • Conv1DXX:”channels_last”
      • 其实也不一定,最好每次手动指定
  • dim_ordering=None/"th"/"tf"

    • 含义:中指定channals轴位置(thbatch后首、tf尾)
    • 默认:None以Keras配置为准
    • 注意:Deprecated,Keras1.x中使用

Conv Layers

  • filters(int)

    • 含义:输出维度
      • 对于卷积层,就是卷积核数目,因为卷积共享卷积核
      • 对于局部连接层,是卷积核组数,不共享卷积核 ,实际上对每组有很多不同权重
  • kernel_size(int/(int)/[int])

    • 含义:卷积核形状,单值则各方向等长
  • strides(int/(int)/[int])

    • 含义:卷积步长,单值则各方向相同
    • 默认:1移动一个步长
  • dilation_rate(int/(int)/[int])

    • 含义:膨胀比例
      • 即核元素之间距离
      • dilation_ratestrides最多只能有一者为1, 即核膨胀、移动扩张最多只能出现一种
    • 默认:1不膨胀,核中个元素相距1
  • use_bias=True/False

    • 含义:是否使用偏置项
    • 默认:True使用偏置项
  • activation=str/func

    • 含义:该层激活函数
      • str:预定义激活函数字符串
      • func:自定义element-wise激活函数
    • 默认:None不做处理(即线性激活函数)
  • kernel_initializer=str/func

    • 含义:权值初始化方法
      • str:预定义初始化方法名字符串 (参考Keras Initializer)
      • func:初始化权重的初始化器
    • 默认:glorot_uniform初始化为平均值
  • bias_initializer=str/func

    • 含义:偏置初始化方法
      • str:预定义初始化方法名字符串
      • func:初始化权重的初始化器
    • 默认:zeros初始化为全0
  • kernel_regularizer=None/obj

    • 含义:施加在权重上的正则项 (参考Keras Regularizer对象)
    • 默认:None不使用正则化项
  • bias_regularizer=None/obj

    • 含义:施加在偏置上的正则项 (参考Keras Regularizer对象)
    • 默认:None不使用正则化项
  • activity_regularizer=None/obj

    • 含义:施加在输出上的正则项 (参考Keras Regularizer对象)
    • 默认:None不使用正则化项
  • kernel_constraint=None/obj

    • 含义:施加在权重上的约束项 (参考Keras Constraints)
    • 默认:None不使用约束项
  • bias_constraint=None

    • 含义:施加在偏置上的约束项 (参考Keras Constraints)
    • 默认:None不使用约束项

TensorFlow Readme

常用参数说明

  • 函数书写声明同Python全局

  • 以下常用参数如不特殊注明,按照此解释

Session

  • target = ""/str

    • 含义:执行引擎
  • graph = None/tf.Graph

    • 含义:Session中加载的图
    • 默认:缺省为当前默认图
  • config = None/tf.ConfigProto

    • 含义:包含Session配置的Protocal Buffer
    • 默认:None,默认配置
  • fetches = tf.OPs/[tf.OPs]

    • 含义:需要获得/计算的OPs值列表
    • 默认:无
  • feed_dict = None/dict

    • 含义:替换/赋值Graph中feedable OPs的tensor字典
    • 默认:无
    • 说明
      • 键为图中节点名称、值为向其赋的值
      • 可向所有可赋值OPs传递值
      • 常配合tf.placeholder(强制要求)

Operators

  • name = None/str

    • 含义:Operations名
    • 默认:None/OP类型,后加上顺序后缀
    • 说明
      • 重名时TF自动加上_[num]后缀
  • axis = None/0/int

    • 含义:指定张量轴
    • 默认
      • None:大部分,表示在整个张量上运算
      • 0:有些运算难以推广到整个张量,表示在首轴(维)
  • keepdims=False/True

    • 含义:是否保持维度数目
    • 默认:False不保持
  • dtype=tf.int32/tf.float32/...

    • 含义:数据类型
    • 默认:根据其他参数、函数名推断
  • shape/dims=(int)/[int]

    • 含义:各轴维数
    • 默认:None/1???
    • 说明
      • -1表示该轴维数由TF计算得到
      • 有些情况下,此参数可省略,由TF隐式计算得到, 但显式指明方便debug
  • start=int

    • 含义:起始位置
    • 默认:0
  • stop=int

    • 含义:终点位置
    • 默认:一般无

TensorFlow基本概念

  • TensorFlow将计算的定义、执行分开

流程

组合计算图

  • 为输入、标签创建placeholder
  • 创建weigth、bias
  • 指定模型
  • 指定损失函数
  • 创建Opitmizer

在会话中执行图中操作

  • 初始化Variable
  • 运行优化器
  • 使用FileWriter记录log
  • 查看TensorBoard

PyTF 模块

tf.nn

tf.nn:神经网络功能支持模块

  • rnn_cell:构建循环神经网络子模块

tf.contrib

tf.contrib:包含易于变动、实验性质的功能

  • bayesflow:包含贝叶斯计算
  • cloud:云操作
  • cluster_resolver:集群求解
  • compiler:控制TF/XLA JIT编译器
  • copy_graph:在不同计算图之间复制元素
  • crf:条件随机场
  • cudnn_rnn:Cudnn层面循环神经网络
  • data:构造输入数据流水线
  • decision_trees:决策树相关模块
  • deprecated:已经、将被替换的summary函数
  • distributions:统计分布相关操作
  • estimator:自定义标签、预测的对错度量方式
  • factorization:聚类、因子分解
  • ffmpeg:使用FFmpeg处理声音文件
  • framework:框架类工具,包含变量操作、命令空间、 checkpoint操作
  • gan:对抗生成相关
  • graph_editor:计算图操作
  • grid_rnn:GridRNN相关
  • image:图像操作
  • input_pipeline:输入流水线
  • integrate:求解常微分方程
  • keras:Keras相关API
  • kernel_methods:核映射相关方法
  • kfac:KFAC优化器
  • labeled_tensor:有标签的Tensor
  • layers:类似nn里面的函数,经典CNN方法重构
  • learn:类似ski-learn的高级API
  • legacy_seq2seq:经典seq2seq模型
  • linalg:线性代数
  • linear_optimizer:训练线性模型、线性优化器
  • lookup:构建快速查找表
  • losses:loss相关
  • memory_stats:设备内存使用情况
  • meta_graph_transform:计算图转换
  • metrics:各种度量模型表现的方法
  • nccl:收集结果的操作
  • ndlstm:ndlstm相关
  • nntf.nn某些方法的其他版本
  • opt:某些优化器的其他版本
  • predictor:构建预测器
  • reduce_slice_ops:切片规约
  • remote_fused_graph
  • resampler:重抽样
  • rnn:某些循环神经网络其他版本
  • saved_model:更加易用的模型保存、继续训练、模型转换
  • seq2seq:seq2seq相关模型
  • session_bundle
  • signal:信号处理相关
  • slim:contrib主模块交互方式、主要入口
  • solvers:贝叶斯计算
  • sparsemax:稀疏概率激活函数、相关loss
  • specs
  • staging:分段输入
  • stat_summarizer:查看运行状态
  • statless:伪随机数
  • tensor_forest:可视化工具
  • testing:单元测试工具
  • tfprof:查看模型细节工具
  • timeseries:时间序列工具
  • tpu:TPU配置
  • training:训练及输入相关工具
  • util:Tensors处理相关工具

tf.train

tf.train:训练模型支持

  • 优化器

    • AdadeltaOptimizer:Adadelta优化器
    • AdamOptimizer:Adam优化器
    • GradientDescentOptimizer:SGD优化器
    • MomentumOptimizer:动量优化器
    • RMSPropOptimizer:RMSProp优化器
  • 数据处理

    • Coordinator:线程管理器
    • QueueRunner:管理读写队列线程
    • NanTensorHook:loss是否为NaN的捕获器
    • create_global_step:创建global step
    • match_filenames_once:寻找符合规则文件名称
    • start_queue_runners:启动计算图中所有队列
  • tfrecord数据

    • Example:tfrecord生成模板
    • batch:生成tensor batch
    • shuffle_batch:创建随机tensor batch
  • 模型保存、读取

    • Saver:保存模型、变量类
    • NewCheckpointReader:checkpoint文件读取
    • get_checkpoint_state:从checkpoint文件返回模型状态
    • init_from_checkpoint:从checkpoint文件初始化变量
    • latest_checkpoint:寻找最后checkpoint文件
    • list_variable:返回checkpoint文件变量为列表
    • load_variable:返回checkpoint文件某个变量值

tf.summary

tf.summary:配合tensorboard展示模型信息

  • FileWriter:文件生成类
  • Summary
  • get_summary_description:获取计算节点信息
  • histogram:展示变量分布信息
  • image:展示图片信息
  • merge:合并某个summary信息
  • merge_all:合并所有summary信息至默认计算图
  • scalar:展示标量值
  • text:展示文本信息