1、认识Tensorflow
1.1 Tensorflow特点
2、Tensorflow
关闭警告
import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
2.1 图
代码
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
a = tf.constant(3.0)
b = tf.constant(2.0)
sum = tf.add(a, b)
print(sum)
print(tf.get_default_graph())
print(sum.graph)
with tf.Session() as sess:
print(sess.run(sum))
print(sess.graph)
# 新创建一张图
g = tf.Graph()
with g.as_default():
a = tf.constant(1.0)
print('新图的内存地址', a.graph)
结果
C:\Users\FCX-PC\Envs\tensorflow\Scripts\python.exe F:/测试.py
Tensor("Add:0", shape=(), dtype=float32)
<tensorflow.python.framework.ops.Graph object at 0x00000146A0C0C0F0>
<tensorflow.python.framework.ops.Graph object at 0x00000146A0C0C0F0>
5.0
<tensorflow.python.framework.ops.Graph object at 0x00000146A0C0C0F0>
新图的内存地址 <tensorflow.python.framework.ops.Graph object at 0x00000146C7475A58>
Process finished with exit code 0
可以看出sum 和sess 以及整张图的内存地址都是一样的。注册一张图,就是在内存中分配一段内存使用。
2.2 图的创建
代码见上文
什么是op
2.3 会话
2.4 Tensorflow Feed操作
2.4 张量
Tensorflow基本的数据格式
张量的阶就是数组的维数
常用用红框框出来
张量可以调用的方法
需要注意tensorflow中打印出来的张量形状大小的显示。
2.5 张量的动态形状与静态形状
动态性状和静态形状:在于有没有⽣生成⼀一个新的张量量数据
调用tf.Tensor.set_shape()设置完张量的静态形状后,张量的形状不可以改变。动态形状用函数tf.reshape(),和numpy中改变形状的函数reshape()区别在于,numpy中是再原来的基础上改变,而张量是创建一个新的,原来的不变。
但是在使用reshape 的时候都要满足改变前后总的元素数是一样的
2.6 张量操作
生成张量
张量变换
基本上都是用万能转换类型
2.7 变量
• 变量也是一种OP,是一种特殊的张量,能够进行存储持久化,它的值就是张量,默认被训练
在会话中初始化边变量
2.8 可视化学习Tensorboard