TF基础(一)

以下是TF函数和类的一些介绍,是我在腾讯云学习TF时的截取。

conv2d(
    input,
    filter,
    strides,
    padding,
    use_cudnn_on_gpu=True,
    data_format='NHWC',
    name=None
)

卷积的原理可参考 A guide to convolution arithmetic for deep learning

参数名必选类型说明
inputtensor是一个 4 维的 tensor,即 [ batch, in_height, in_width, in_channels ](若 input 是图像,[ 训练时一个 batch 的图片数量, 图片高度, 图片宽度, 图像通道数 ])
filtertensor是一个 4 维的 tensor,即 [ filter_height, filter_width, in_channels, out_channels ](若 input 是图像,[ 卷积核的高度,卷积核的宽度,图像通道数,卷积核个数 ]),filter 的 in_channels 必须和 input 的 in_channels 相等
strides列表长度为 4 的 list,卷积时候在 input 上每一维的步长,一般 strides[0] = strides[3] = 1
paddingstring只能为 " VALID "," SAME " 中之一,这个值决定了不同的卷积方式。VALID 丢弃方式;SAME:补全方式
use_cudnn_on_gpubool是否使用 cudnn 加速,默认为 true
data_formatstring只能是 " NHWC ", " NCHW ",默认 " NHWC "
namestring运算名称

 

================================================================

relu(
    features,
    name=None
)

relu激活函数可以参考 CS231n: Convolutional Neural Networks for Visual Recognition

参数名必选类型说明
featurestensor是以下类型float32, float64, int32, int64, uint8, int16, int8, uint16, half
namestring运算名称

 

=================================================================

max_pool(
    value,
    ksize,
    strides,
    padding,
    data_format='NHWC',
    name=None
)

池化的原理可参考 CS231n: Convolutional Neural Networks for Visual Recognition

参数名必选类型说明
valuetensor4 维的张量,即 [ batch, height, width, channels ],数据类型为 tf.float32
ksize列表池化窗口的大小,长度为 4 的 list,一般是 [1, height, width, 1],因为不在 batch 和 channels 上做池化,所以第一个和最后一个维度为 1
strides列表池化窗口在每一个维度上的步长,一般 strides[0] = strides[3] = 1
paddingstring只能为 " VALID "," SAME " 中之一,这个值决定了不同的池化方式。VALID 丢弃方式;SAME:补全方式
data_formatstring只能是 " NHWC ", " NCHW ",默认" NHWC "
namestring运算名称

 

========================================================================

dropout(
    x,
    keep_prob,
    noise_shape=None,
    seed=None,
    name=None
)

原理可参考 CS231n: Convolutional Neural Networks for Visual Recognition

参数名必选类型说明
xtensor输出元素是 x 中的元素以 keep_prob 概率除以 keep_prob,否则为 0
keep_probscalar Tensordropout 的概率,一般是占位符
noise_shapetensor默认情况下,每个元素是否 dropout 是相互独立。如果指定 noise_shape,若 noise_shape[i] == shape(x)[i],该维度的元素是否 dropout 是相互独立,若 noise_shape[i] != shape(x)[i] 该维度元素是否 dropout 不相互独立,要么一起 dropout 要么一起保留
seed数值如果指定该值,每次 dropout 结果相同
namestring运算名称

 

=================================================================================

sigmoid_cross_entropy_with_logits(
    _sentinel=None,
    labels=None,
    logits=None,
    name=None
)

先对 logits 通过 sigmoid 计算,再计算交叉熵,交叉熵代价函数可以参考 CS231n: Convolutional Neural Networks for Visual Recognition

参数名必选类型说明
_sentinelNone没有使用的参数
labelsTensortype, shape 与 logits相同
logitsTensortype 是 float32 或者 float64
namestring运算名称

 

==============================================================================

truncated_normal(
    shape,
    mean=0.0,
    stddev=1.0,
    dtype=tf.float32,
    seed=None,
    name=None
)

产生截断正态分布随机数,取值范围为 [ mean - 2 * stddev, mean + 2 * stddev ]

参数名必选类型说明
shape1 维整形张量或 array输出张量的维度
mean0 维张量或数值均值
stddev0 维张量或数值标准差
dtypedtype输出类型
seed数值随机种子,若 seed 赋值,每次产生相同随机数
namestring运算名称

 

=======================================================================

constant(
    value,
    dtype=None,
    shape=None,
    name='Const',
    verify_shape=False
)

根据 value 的值生成一个 shape 维度的常量张量

参数名必选类型说明
value常量数值或者 list输出张量的值
dtypedtype输出张量元素类型
shape1 维整形张量或 array输出张量的维度
namestring张量名称
verify_shapeBoolean检测 shape 是否和 value 的 shape 一致,若为 Fasle,不一致时,会用最后一个元素将 shape 补全

 

===============================================================

placeholder(
    dtype,
    shape=None,
    name=None
)

是一种占位符,在执行时候需要为其提供数据

参数名必选类型说明
dtypedtype占位符数据类型
shape1 维整形张量或 array占位符维度
namestring占位符名称

 

====================================

bias_add(
    value,
    bias,
    data_format=None,
    name=None
)

将偏差项 bias 加到 value 上面,可以看做是 tf.add 的一个特例,其中 bias 必须是一维的,并且维度和 value 的最后一维相同,数据类型必须和 value 相同。

参数名必选类型说明
value张量数据类型为 float, double, int64, int32, uint8, int16, int8, complex64, or complex128
bias1 维张量维度必须和 value 最后一维维度相等
data_formatstring数据格式,支持 ' NHWC ' 和 ' NCHW '
namestring运算名称

 

=======================

reduce_mean(
    input_tensor,
    axis=None,
    keep_dims=False,
    name=None,
    reduction_indices=None
)

计算张量 input_tensor 平均值

参数名必选类型说明
input_tensor张量输入待求平均值的张量
axisNone、0、1None:全局求平均值;0:求每一列平均值;1:求每一行平均值
keep_dimsBoolean保留原来的维度(例如不会从二维矩阵降为一维向量)
namestring运算名称
reduction_indicesNone和 axis 等价,被弃用

 

==============================

squared_difference(
    x,
    y,
    name=None
)

计算张量 x、y 对应元素差平方

参数名必选类型说明
x张量是 half, float32, float64, int32, int64, complex64, complex128 其中一种类型
y张量是 half, float32, float64, int32, int64, complex64, complex128 其中一种类型
namestring运算名称

 

=======================

square(
    x,
    name=None
)

计算张量对应元素平方

参数名必选类型说明
x张量是 half, float32, float64, int32, int64, complex64, complex128 其中一种类型
namestring运算名称

 

========================================

__init__(
    initial_value=None,
    trainable=True,
    collections=None,
    validate_shape=True,
    caching_device=None,
    name=None,
    variable_def=None,
    dtype=None,
    expected_shape=None,
    import_scope=None
)

维护图在执行过程中的状态信息,例如神经网络权重值的变化。

参数名类型说明
initial_value张量Variable 类的初始值,这个变量必须指定 shape 信息,否则后面 validate_shape 需设为 False
trainableBoolean是否把变量添加到 collection GraphKeys.TRAINABLE_VARIABLES 中(collection 是一种全局存储,不受变量名生存空间影响,一处保存,到处可取)
collectionsGraph collections全局存储,默认是 GraphKeys.GLOBAL_VARIABLES
validate_shapeBoolean是否允许被未知维度的 initial_value 初始化
caching_devicestring指明哪个 device 用来缓存变量
namestring变量名
dtypedtype如果被设置,初始化的值就会按照这个类型初始化
expected_shapeTensorShape要是设置了,那么初始的值会是这种维度

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值