tensorflow学习小记

TensorFlow入门杂记

TensorFlow入门杂记

学习实战Google深度学习框架笔记及整理误区

****1张量 标量就是0阶张量,第一阶张量就是一维数组即向量;同理n阶张亮可以理解为n维数组。在tf中张量并不是直接数组的形式,而是对计算结果的引用,保存的是数字的计算过程,一个计算结果主要保存的是三个属性:名字,维度,类型。张量的作用:1.对中间计算结果的引用。2.计算结果完成后用来计算结果。

2会话 可以理解为session执行定义好的运算,有两种方式


import tensorflow as tf
matrix1=tf.constant([[3,3]])
matrix2=tf.constant([[2],[2]])
product=tf.matmul(matrix1,matrix2)
# method 1
sess=tf.Session()
result=sess.run(product)
print(result)
sess.close()  #关闭会话
# method 2
with tf.Session() as sess:
	result2=sess.run(product)
	print(result2) # 不需要再关闭

3tf.matmul(a,b)实现矩阵乘法
tf.variable(tf.random_normal([2,3], stddev = 2) 随机产生一个2*3矩阵,没有标明mean时候默认均值0,stddev是随机数的标准差,normal正态分布,tf.random_uniform((4, 4),minval=low,maxval=high,dtype=tf.float32)))均匀分布min和max代表最小值和最大值,通钢tf.random_gamma(shape, alpha, beta=None, dtype=tf.float32, seed=None, name=None)
返回具有Gamma分布的随机值。参数shape是一维整型张量或Python数组,alpha 提供描述要采样的伽马分布的形状参数,beta提供要采样的伽玛分布的反比例参数,dtype是类型,seed是随机种子,name是名称。

4 tf.Variable(tf.random_normal([3,3], stddev=2, seed=1))seed = 1时,表示每次运行时生成的随机数都一样
init.op = tf.global_variables_initializer
sess.run(init.op)实现所有变量初始化
5简单的前向传播

 author:LL time:2018/12/6
import tensorflow as tf

w1 = tf.Variable(tf.random_normal((2, 3), stddev=1, seed=1))
w2 = tf.Variable(tf.random_normal((3, 1), stddev=1, seed=1))

# x = tf.constant([[0.7, 0.9]])
x = tf.placeholder(tf.float32, shape=[1, 2], name="input")  # 定义一个位置,并不定义具体的运算,等运行时候在传入参数
a = tf.matmul(x, w1)
y = tf.matmul(a, w2)

sess = tf.Session()
init_op = tf.global_variables_initializer()
sess.run(init_op)
# print(sess.run(y)) 错误写法,替换了原来常量定义的x,需要提供一个feed_dict指定x值
print(sess.run(y,feed_dict={x: [[0.7, 0.9]]}))
# feed_dict是一个字典,利用placeholder提供输入数据,先定义位置运行时传入参数

# 神经网络前向传播过程
#  **********************************************


#  损失函数和反向传播

y = tf.sigmoid(y)
# 定义损失函数
cross_entropy = -tf.reduce_mean(
    y_ * tf.log(tf.clip_by_average_norm(y1, 1e-10, 1.0)) + (1 - y)*tf.log(tf.clip_by_average_norm(1 - y,1e-10, 1.0))  #clip_by_norm是指对梯度进行裁剪,通过控制梯度的最大范式
)  # 交叉熵
learing_rate = 0.001
train_step = tf.train.AdamOptimizer(learing_rate).minimize(cross_entropy)  # Adam优化方法(常见的SGD,MOmentum,Adam)






























//adrai

//adrai.github.io/flowchart.js/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值