今天有粉丝私信我,说我好久没有更新博客了…好吧,最近实在太忙了,今天晚上终于抽出时间来更新一下…
另外,谢谢你,我亲爱的唯一的小粉丝,没错,就是你!scb
最近学习了几个新的网络:
1,CNN
2,LSTM RNN
3,autoencoder
大家可以在我的github上查看源码…
但是我还不太用github,等后续吧
(必须声明:我的代码都是参考了莫烦的教程,另外推荐莫烦的教程,非常好用的)
最近学到的新知识:
1.tf.Session两种打开方式:
(1)sess=tf.Session()
pass
sess.close()
(2)with tf.Session() as sess:
pass
2.刚开始学习python有点搞不清楚为什么要用初始化全局所有变量
state=tf.Variable(0,name='weights') #定义变量
one=tf.constant(1)#定义常量
new_value=tf.add(state,one)#并不直接计算,需要初始化
#只要声明了变量,就必须初始化
init=tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)#激活变量
#注意,如果需要输出new_value
print(new_value)#输出的是new_value的类型
print(sess.run(new_value))#输出new_value的值
3,placeholder
tensorflow如果想从外部传数据,则用tf.placeholder(dtype,[w1,w2,…])占位符
并通过以下方式传入数据
sess.run(XX,feed_dict={inputs:x})
4,我最近在W*x+b上遇到一个小问题,假设W:1*2,x:2*2,我们常规认为W*x是这样写
而实际上,代码是这样实现的:
weights=tf.Variable(tf.random_normal([2,3]),tf.float32)#2x3
biases=tf.Variable(tf.random_normal([3]),tf.float32)
inputs=tf.Variable(tf.random_normal([1,2]),tf.float32)#1x2
wx=tf.matmul(x,W)#为x*W:1x3
那么我们会认为W*x+b就会因为维度不同而出现问题,实际上不会
因为此时b是1x3的形式,所以维度整好匹配
好啦,今天就更新到这里了,另外,提前祝我的小可爱生日快乐!