0%

tensorflow

这是一篇关于tensorflow的博客,这里面很多东西都是很杂碎的,不在此做处理,等积累的多了,理解才能正确。

TensorFlow入门教程

1.TensorFlow深度学习应用实践
评价不好

  1. TensorFlow:实战Google深度学习框架(第2版)
    8.6分,可以用来实践

  2. Tensorflow:实战Google深度学习框架
    8.4分

4.莫烦的tensorlfow教程
https://github.com/MorvanZhou
适合实践

5.某个网友的自己实现的教程
https://www.jianshu.com/p/27a2fb320934
https://github.com/zhaozhengcoder/Machine-Learning/tree/master/tensorflow_tutorials

6.官网API
https://tensorflow.google.cn/api_docs/python/tf

7.深度学习之TensorFlow入门、原理与进阶实战
7.6分
22章,内容更加详实,偏向理论,可以用来只看不实践

8.TensorFlow实战
7.3分
适合看看,内容不深,实践性不强,理论也很浅
在github上也没有代码

不应该总是要求全部,所以应该这样的顺序来学习
先学:TensorFlow:实战Google深度学习框架(第2版)
再学:莫烦:https://github.com/MorvanZhou+网页的教程
基本就可以了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
print(a.graph == tf.get_default_graph())
tf.get_variable() name 必须双引号

name的作用 https://blog.csdn.net/xiaohuihui1994/article/details/81022043

可以理解成sess需要指定,不能自动加入
.run,.eval能执行的两种方式
with tf.Session(graph=g1) as sess:
tf.global_variables_initializer().run()
或者
sess = tf.Session()
tf.global_variables_initializer().run(session=sess)
或者
sess = tf.InteractiveSession() # 会自动注册为默认会话
result.eval()
或者
sess = tf.Session()
with sess.as_default():
result.eval()

####
初始化
init = tf.global_variables_initializer()
w1.initializer


『TensorFlow』使用集合collection控制variables
https://www.cnblogs.com/hellcat/p/9006904.html

collection
import tensorflow as tf

g1 = tf.Graph()
with g1.as_default():
v = tf.get_variable("v", [1], initializer = tf.zeros_initializer()) # 设置初始值为0
gv= tf.get_collection(tf.GraphKeys.GLOBAL_VARIABLES # gv = tf.global_variables()
for var in gv:
print(var)

现在有了几个概念需要理清楚:
计算图: 不同计算图中的变量是独立的
collection: 不同类型的variable放在不同的collection中,主要是tf.GraphKeys.GLOBAL_VARIABLES和tf.GraphKeys.TRAINABLE_VARIABLES
会话: 会话需要与计算图相连接,完成相应计算图的执行,一个会话对应一个计算图及其执行结果

tf.add_to_collection
https://www.jianshu.com/p/6612f368e8f4

这样就不需要传入weighs和biases,这里的reuse实现了定义和使用的一体化,不需要专门对weights定义和调用。
def inference(input_tensor, reuse=False):
with tf.variable_scope('layer1', reuse=reuse):
weights = tf.get_variable("weights")
biases = tf.get_variable("biases")
with tf.variable_scope('layer2', reuse=reuse):
weights = tf.get_variable("weights")
biases = tf.get_variable("biases")

TFRecord数据格式
https://blog.csdn.net/u012759136/article/details/52232266