【python编程】tensorflow1.x库常用语法

一、基本语法

  • 从指定正态分布的数值中取出指定个数的值 .random_normal()

.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32,seed=None, name=None)
shape:输出张量形状,mean:正态分布的均值,stddev:正态分布的标准差,
seed:整数,设置后每次生成的随机数一样,name:操作的名称

  • 声明tf变量 .Variable(initializer, name)
    initializer初始化的参数,name:名称
  • 变量初始化 Session中.run(tf.global_variables_initializer())
    注:tf中变量声明后并未被赋值,需要在Session中调用初始化方法后才会被具体赋值。

eg:w = tf.Variable(tf.random_normal([2, 3]), name=’v’)
with tf.Session() as sess:
sess.run(tf.global_bariabbles_initializer())
sess.run(w) 或 sess.run(v)

CNN:

  • 卷积层 .nn.con2d() 返回[batch, height, width, channels]

.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None,name=None)
input:需要做卷积的输入图像[batch, height, width, channels] ,
channels= 所需卷积核层数(如下图w0的三层),
filter:卷积核[height, width, in_channels, out_channels],
in_channels = input的channels out_channels =需要卷积核个数(如下图w1、w2),
strides:步长[1,1,1,1],
padding:”SAME”、”VALID”,
use_cudnn_on_gpu:cudnn加速

如下图,图片[7,7,3] 权重(卷积核)[3,3,3,2]
(转自:https://blog.csdn.net/qq_31779317)
在这里插入图片描述

  • 池化层 .nn.max_pool() 返回[batch, height, width, channels]

.nn.max_pool(value, ksize, strides, padding, name=None)
value:需要做池化的输入图像 kszie:池化窗口大小[1, hetight, width,1],
不希望在batch、channels上做池化 strides:步长[1, stride, stride,1],
padding:”SAME”、”SAME”

  • 减轻过拟合 .nn.dropout()

.nn.dropout(x, keep_prob, noise_shape=None, seed=None,name=None)
X:需要减轻过拟合的图像 keep_prob:保留结果的比例

  • 线性运算 .nn.relu(a) 把a中<0=0 ,>0不变

eg:用于卷积.nn.relu(conv2d(x_data, W) + b)

  • 矩阵相乘 .matmul(a,b) a*b

eg:用于全连接.nn.relu(tf.matmul((drop, W) + b))

  • 相加运算 .add(a,b) a+b
  • 平均值 .reduce_mean(a, axis)
    axis:在哪个维度上求平均值

eg: a= [[1., 2.] [3., 4.]] .reduce_mean(a) -> 2.5
.reduce_mean(a, 0) -> [2., 3.]在第一维(列)
可用于损失函数等需要求平均值

  • 返回最大值的索引 .aramax(a, axis)
  • 对比是否相等 .equal(a, b)
  • 变量类型转换 .cast(a, int864/float1664)

损失函数:

  • 使用softmax计算交叉熵 .nn.softmax_cross_entropy_with_logits()

.nn.softmax_cross_entropy_with_logits(labels=None,logits=None,dim=-1,name=None)
labels:分类标签的概率,加起来需等于1
logits:神经网络最后一层的输出,如有batch它的大小就是[batchsize,num_classes],单样本的话,大小就是num_classes

优化器:

使用Adam优化器 .train.AdamOptimizer(learning_rate)
learning_rate:学习率


未完,持续更新…


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值