• python库--tensorflow


    方法 返回值类型 参数 说明
    张量   
    .constant()

    Tensort

    张量

    实例t

    value 创建一个常量tensor
    dtype=None 输出类型
    shape=None 返回tensor的形状
    name='Const' 张量名
    verify_shape=False 是否保留输入数据的形状且不能被更改. True若shape与输入形状不一致则报错
    t.device str 表示tensor将被产生的设备名称
    t.dtype   元素类型
    t.graph   此tensor被哪个图所有
    t.name   张量名
    t.op   产生这个tensor作为输出的操作
    t.shape TensorShape tensor的形状
    t.value_index   表示这个tensor在其操作结果中的索引
    t.consumers() list   返回消耗这个tensor的操作列表
    t.eval() ndarray feed_dict=None 用于placeholder赋初始值{placeholder_object: value}
    session=None 用来计算此tensor的session
    t.get_shape() TensorShape   tensor的形状
    t.set_shape() None shape 更新tensor的形状, verify_shape=False
           
    .zeros() Tensor (shape, dtype=tf.float32, name=None) 按shape生成一个全0 tensor
    .zeros_like() Tensor (tensor, dtype=None, name=None) 按tensor的shape创建一个新全0 tensor
    .ones()   .ones_like() Tensor 参考上面两个, 创建全1 tensor
    .fill() Tensor (dims, value, name=None) 值全为value, 形状为dims的tensor
    .linspace() 1DTensor 创建包含num个元素, 且步长固定的tensor
    start 起始值(包含)
    stop 结束值(包含)
    num 步长 = (stop - start) / (num-1)
    name=None 张量名
    .range() 1DTensor (start, limit, delta=1, name='range') 创建范围为[start, limit)步长为delta的tensor

    .placeholder()

    占位符(feed_dictation) run的时候才赋初始值

    Tensor dtype 数据类型, 必须制定, 推荐float32(或1)
    shape=None 指定返回张量的形状, None表示任意形状, 某一维为None则表示次维不做限制
    name=None 张量名
           
           

    .nn.embedding_

    lookup()

    Tensor params 多维数据,
    ids 多维数据, 值为params的索引, 返回params的对应值
    partition_strategy='mod'  
    name=None 张量名
    validate_indices=True  
    max_norm=None  
           
     

    .layers.dense()

    全连接层

    Tensor  
    inputs 二维tensor
    units 输出空间的维度(该层神经单元节点数)
    activation及其以后参数同tf.layers.conv1d
           
    变量   
    .Variable()

    Variable

    变量

    实例v

    initial_value Tensor or Tensor_like. 变量的初始化值. 必须指定shape, 除非validate_shape=False
    trainable=True 是否将该变量添加到图形集合`GraphKeys.TRAINABLE_VARIABLES`
    collections=None 图表集合键的列表。新的变量被添加到这些集合中。默认为`[GraphKeys.GLOBAL_VARIABLES]`
    validate_shape=True 是否允许变量初始化为未知形状的值
    caching_device=None 描述设备的字符串, 表示哪个设备用来读取缓存. 默认是device
    name=None 变量名
    variable_def=None  
    dtype=None 指定数据类型
    expected_shape=None TensorShape类型. 要是设置了, 那么初始的值会是这种形状
    import_scope=None  
    v.device   设备名称
    v.dtype   数据类型
    v.graph   存放变量的图
    v.initial_value Tensor 变量的初始值
    v.initializer   变量的初始化器
    v.name   变量名
    v.op   产生这个variable作为输出的操作
    v.assign() Variable value 为变量指定一个新值(形状相同)
    use_locking=False  
    v.assign_add() Variable delta, use_locking 为这个变量加上一个值(形状相同)
    v.assign_sub() Variable delta, use_locking 为这个变量减去一个值(形状相同)
    v.count_up_to() Variable limit 上限值. 当Op运行时, 它试图将变量+1, 如果增加变量使其超过限制, 将会引发异常
    v.eval()   session=None 在一个session里计算并返回变量值
    v.get_shape()     返回变量的形状
    v.initialized_value() Tensor   返回已经初始化变量的值
    v.load() Variable value 新的变量值. 把新值载入到变量里
    session=None 用来估算这个变量的Session
    v.read_value() Tensor   返回这个变量的值
    v.scatter_sub()   sparse_delta  
    use_locking=False  
    v.set_shape() Variable shape 改变变量形状
           
     .get_variable() Variable name 新的或现有变量名(可用于变量复用)
    shape=None 新变量或现有变量的形状
    dtype=None 新变量或现有变量的类型
    initializer=None 变量的初始值设定项
    regularizer=None  
    trainable=True 是否将变量添加到图形集合
    collections=None 图形集合键列表
    caching_device=None  
    partitioner=None  
    validate_shape=True 是否允许变量初始化为未知形状的值
    use_resource=None  
    custom_getter=None  
           
        将value赋给ref来更新ref
    .assign() Variable ref Veriable
        value 跟ref同类型的Tensor
        validate_shape=None True: value需和ref形状相同(默认)
        False: ref将对value的形状进行引用
        use_locking=None  
        name=None 操作的名称
           
    .global_variables()     返回全局变量
    .local_variables()     返回局部变量
    .variables_ initializer()   var_list 待初始化变量列表
    name='init' 操作的名称
    .global_variables_ initializer() Op   (替换tf.initialize_all_variables()的新方法)返回一个初始化所有全局变量的操作. 类似variables_initializers(global_variables())
    .local_variables_ initializer() Op   返回一个初始化所有局部变量的操作
           
    Graph(图)   
    .get_default_graph()     返回默认图
    .Graph() 实例g   创建一个图
    g.building_function      
    g.finalized     若此图被终止了则返回True
    g.graph_def_versions      
    g.seed     此图的图层随机种子
    g.version      
    g.add_to_collection()    
    name  
    value  
    g.as_default() with...:   将此图设为默认, 其包含的张量将在此图中
    g.device()   matmul_on_gpu 参见tf.device
    g.finalize()     结束这个Graph, 使得它只读
    g.get_all_collection_ key() list   返回Graph中的collection列表
    g.get_operation_ by_name()   name 根据操作名返回操作
    g.get_operations() list   返回图中操作列表
    g.get_tensor_by_ name() Tensor name 根据张量名返回tensor
    g.is_feedable() bool tensor 判断tensor能否被feed
    g.is_fetchable() bool tensor_or_op 判断tensor或op能否被取到
    g.name_scope()     参考tf.name_scope()
           
    Session
    .InteractiveSession() 实例s 创建一个新的session并设为默认
    target='' 连接执行引擎, 默认in-process
    graph=None 要计算的graph
    config=None  
    .Session() 实例s 创建一个新的session, 包含了操作对象执行的环境
    target='' 连接执行引擎, 默认in-process
    graph=None 要计算的graph
    config=None  
    s.graph     "投放"到session中的图
    s.graph_def     图的描述
    s.sess_str      
    s.run()   运行操作计算tensor
    fetches 图中的一个元素, 或元素列表. 或一个字典, 返回也将是字典, key不变, 值变为运算后的值
    feed_dict=None 用于placeholder赋初始值
    options=None  
    run_metadata=None  
    s.close()     关闭这个session
    s.as_default() with...:   将此对象设为默认的session
           
    优化器Optimizer(tf.train)
    .Optimizer()     优化器类的基类(基本不用)
           
    .GradientDescent Optimizer() Op 创建一个梯度下降算法的优化器
    learning_rate 要是用的学习率
    use_locking=False  
    name='GradientDescent' 操作的名称
    Op.compute_ gradients()    
    loss 待减小的值
    var_list=None 默认GraphKey.TRAINABLE_VARIABLES
    gate_gradients= GATE_OP  
    aggregation_method=N  
    colocate_gradients_with_ ops=False  
    grad_loss=None  
           
    .AdadeltaOptimizer   实现了Adadelta算法的优化器, 可以算是Adagrad算法的改进版
    learning_rate=0.001 学习率
    rho=0.95 衰减率
    epsilon=1e-08  
    use_locking=False  
    name='Adadelta' 操作的名称
           
    .AdagradOptimizer   实现了Adagrad算法的优化器
    learning_rate 学习率
    initial_accumulator_ value=0.1  
    use_locking=False  
    name='Adagrad' 操作的名称
           
    .Momentum Optimizer()      
           
    .AdamOptimizer()      
           
    数学函数(Math)点击跳转到官方API(有墙)
           
    .argmax() Tensor 返回指定维度最大值的位置
    input Tensor
    axis=None 默认维度0
    name=None 操作名称
    output_type=tf.int64 tf.int32或tf.int64
    .argmin() Tensor 同.argmax但作用相反
           
    .matmul() Tensor 计算矩阵的积  
    a,b 需要计算的两个矩阵
    transpose_a=False 是否将a计算前进行转置
    transpose_b=False 是否将b计算前进行转置
    adjoint_a=False 是否将a计算前进行共轭转置
    adjoint_b=False 是否将b计算前进行共轭转置
    a_is_sparse=Fasle a是否是稀疏矩阵
    b_is_sparse=Fasle b是否是稀疏矩阵
           
    随机值   
    .random_normal() Tensor 返回一个指定形状,被随机正态分布值填充的tensor
    shape 指定返回张量的形状
    mean=0.0 正态分布的均值
    stddev=1.0 正态分布的标准差
    dtype=tf.float32 输出类型: float32, float64, int32或int64
    seed=None 随机数种子
    name=None 张量名
    .truncated_normal() Tensor 返回一个指定形状,被截断正态分布(truncated normal distribution)值填充的tensor(参数同上)
    .random_unifrom()

    Tensor

    服从均值分布的随机数, 区间为[minval, maxval)
    shape 指定返回张量的形状
    minval=0 随机值范围的下界(默认[0, 1))
    maxval=None 随机值范围的上界(int则必须指定此值)
    dtype, seed, name 同上
    .random_shuffle()  Tensor  在第一个维度随机打乱顺序(可在随机梯度下降的时候用)
    value 待打乱的tensor
    seed, name 同上
           
    形状相关操作
    .shape() Tensor 返回输入Tensor的形状
    input 输入的Tensor
    name=None 操作的名称
    out_type=tf.int32 输出数据的数据类型
    .shape_n()      
    .size()   返回输入Tensor的元素数量(参数同tf.shape)
    .rank()   (input, name=None)返回tensor的维度数
    .reshape() Tensor 改变一个tensor的形状
    tensor 输入tensor
    shape tensor形状(某个分量可以是-1, 将将自动计算此值)
    name=None 操作的名称
    .squeeze()      
    .expand_dims()      
           

    .reduce_max()

    参考np.max

    Tensor input_tensor 传入一个tensor或可转换为tensor的数据
    axis=None(原reduction_indices) 选择操作的维度, 默认操作全部数据
    keep_dims=False 是否保留原维度, 否则计算后维度降低
    name=None 张量名
    .reduce_* Tensor 参考.reduce_max参数 参考np.*
           
    基本神经网络组件
    激活函数(输入输出维度一致)    
    .nn.relu() Tensor 计算修正线性单元
    features tensor
    name=None 操作的名称
    .nn.relu6()      
    .nn.crelu()      
    .nn.elu()      
    .nn.softsign()      
    .nn.dropout() Tensor 随机丢弃一部分神经元 (有助于防止过度拟合)
    inputs Tensor
    rate=0.5 丢包率
    noise_shape=None  
    seed=None 随机种子
    training=False  
    name=None 操作名称
    .nn.bias_add()      
    .sigmoid()      
    .tanh()      
           
    分类      
    .nn.sigmoid_cross_ entropy_with_logits()      
    .nn.softmax() Tensor softmax = tf.exp(logits) / tf.reduce_sum(tf.exp(logits), dim)
    logits Tensor
    dim=-1 运算的维度, 默认最后一个维度
    name=None 操作名称
    .nn.log_softmax() Tensor logsoftmax = logits - log(reduce_sum(exp(logits), dim))
    参数同.nn.softmax()  
    .nn.softmax_cross_ entropy_with_logits() Tensor 计算交叉熵(禁止使用位置参数)(损失函数, 越小模型越优)
    labels=None 有效概率分布
    logits=None 估计概率分布
    dim=-1 维度, 默认最后一个维度
    name=None 操作名称
    .nn.sparse_softmax_ cross_entropy_with_ logits()      
    .nn.weighted_cross_ entropy_with_logits()      
           
    各种卷积网络
    基本卷积操作      

    .layers.conv1d()

    Tensor inputs 张量输入
    filters 整数, 输出空间的维数(即, 卷积核的数量)
    kernel_size 一个整数或一个整数的元组/列表, 指定1D卷积窗的长度
    strides=1 一个整数或一个整数的元组/列表, 指定卷积的步幅长度
    padding='valid' 'valid'或'same'不区分大小写
    data_format= 'channels_last'  
    dilation_rate=1  
    activation=None 激活函数, 默认线性激活
    ues_bias=True 是否使用偏置
    kernel_initializer=None 卷积核初始化
    bias_initializer= tf.zeros_initializer() 偏置初始化, 默认初始化为0
    kernel_regularizer=None 卷积核化的正则化
    bias_regularizer=None 偏置项的正则化
    activity_regularizer=None 输出的正则化函数
    kernel_constraint=None  
    bias_constraint=None  
    trainable=True 该层的参数是否参与训练, True则变量加入到图集合中
    name=None 该层的名称
    reuse=None 是否重复使用参数
           

    .layers.conv2d()

    Tensor 二维卷积
    参数同.layers.conv1d, 只列出不同
    kernel_size 一个整数或2个整数的元组/列表, 指定2D卷积窗口的高度和宽度. 一个整数表示高=宽
    strides 一个整数或2个整数的元组/列表, 指定沿高度和宽度的步幅长度
    dilation_rate  
           
    .nn.conv2d() Tensor 二维卷积
    input 输入
    filter [滤波器高,滤波器宽,深度(同输入),滤波器个数(输出的深度 )]
    strides 滑动步长, 一般为[1, x_strides, y_strides, 1]
    padding 'SAME'会有0填充, 使步长为1时保持输入输出尺寸不变, 而'VALID'则采取丢弃
    use_cudnn_on_gpu=N  
    data_format=None 指明输入数据和输出数据的格式. 'NHWC': 数据存储格式为[batch, in_height, in_width, in_channels]; 'NCHW': 数据存储格式为[batch, in_channels, in_height, in_width]
    name=None 操作的名称
           
    .nn.atrous_conv2d() Tensor 空洞卷积(没有stride参数, 因为被固定为了1)
    value 4DTensor, 需要'NHWC'格式
    filters [滤波器高,滤波器宽,深度(同输入),滤波器个数(输出的深度 )]
    rate 插入(rate-1)数量的'0'
    padding 'VALID'或'SAME'. 'VALID'返回:[batch, height-2*(filter_width-1), width-2*(filter_height-1), out_channels]的Tensor; 'SAME'返回:[batch, height, width, out_channels]的Tensore
    name=None 操作的名称
           
    池化操作(Pooling)     
    .nn.avg_pool() Tensor 平均
    value [batch, height, width, channels]
    ksize 滤波器形状, 一般二维图像为[1,高,宽,1]
    strides 步长, 一般为[1, x_strides, y_strides, 1]
    padding 'VALID'或'SAME'
    date_format='NHWC' 'NHWC'或'NCHW'
    name=None 操作名
    .nn.max_pool()      
    .nn.max_pool_with_ argmax()      
    .nn.avg_pool3d()      
    .nn.max_pool3d()      
    .nn.fractional_avg_ pool()      
    .nn.fractional_max_ pool()      
    .nn.pool()      
           
    .device() with...: '/cpu:0' 指定运算设备为CPU, 即使多个CPU也不区分.
    '/gpu:n' 多个GPU的名称是不同的, 第一个为'/gpu:0'
           
    .name_scope() with...: name 在其下使用Variable, 变量名(V_n)前会被加上'name/...'且相同V_n会自动添加后缀加以区分, 使用get_variable, V_n不会变化, 且出现相同V_n会报错
    default_name=None 如果`name`参数是`None`,则使用默认名称
    values=None  
    .variable_scope() with...as sc:

    name_or_scope Variable以及get_variable变量名(V_n)前面都会被加上'name/...'但只有Variable的V_n会自动加后缀区分, 而在get_variable重复V_n前面加上sc.reuse_variables()可实现变量复用(指向同一变量)不加则报错
    default_name=None 如果`name_or_scope`参数是`None`,则使用默认名称
    values=None  
    initializer=None 此范围内变量的默认初始值设定项
    regularizer=None 此范围内的变量的默认regularizer
    caching_device=None 此范围内的变量的默认缓存设备
    partitioner=None 此范围内变量的默认分区程序
    custom_getter=None 这个范围内的变量的默认自定义getter
    reuse=None  
    dtype=None 在此作用域中创建的变量类型
    use_resource=None  
           
  • 相关阅读:
    android的一些类库的优缺点
    中文后乱码问题的解决方法(可能解决)
    android data recovery and nc
    最短路径——Floyd,Dijkstra(王道)
    还是畅通工程——最小生成树(王道)
    More is better——并查集求最大集合(王道)
    畅通工程——并查集(王道)
    IDEA默认VIM模式
    命令行杀死进程
    进制转换——高精度整数(王道)
  • 原文地址:https://www.cnblogs.com/P--K/p/8134589.html
Copyright © 2020-2023  润新知