本文主要是介绍【学习笔记】TensorFlow学习笔记(C语言中文网教程),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、基础
学习资料:TensorFlow教程:TensorFlow快速入门教程
1. Hello world!
练习源码:
import tensorflow as tfmessage = tf.constant('Hello world!')
with tf.Session() as sess:# print(sess.run(message).decode())print(sess.run(message))
- 输出信息:
提示TensorFlow代码可以以更快的速度运行(需通过源码安装
),若想要屏蔽提示信息,可以在代码中加入以下内容:
这段代码的作用是忽略级别 2 及以下的消息(级别 1 是提示,级别 2 是警告,级别 3 是错误)。import os os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
.decode()
作用:
print 函数向 stdout 输出的结果是
b表示字节(byte),而decode操作删除字符串引号和“b”只保留单引号内的内容。b'Hello world'
2. TensorFlow程序结构
- 核心思想:
程序结构分为两部分:计算图的定义和执行。 - 定义过程只定义变量名和建立网络结构,可以不进行赋值。
- 执行方式:
或者是with tf.Session() as sess:print(sess.run(v1_add_v2))
其中,sess = tf.Session() print(sess.run(v1_add_v2)) sess.close()
v1_add_v2
代表要被执行的操作。 sess.run()
一次可以提取一个或多个张量或操作对象.
3. 常量、变量、占位符
tf.linspace
输出包含终值;且输出含浮点数时,表达式中也应使用浮点数。tf.range
输出不包含终值。seed()
作用:相同的种子生成的(伪)随机数相同,系统默认根据时间来自己选择种子。tf.truncated_normal()
:在±2σ
处截断(超过则重新生成)。tf.random_crop
随即剪裁tf.random_shuffle
随机排列- 变量初始化:tf中必须显式初始化所有声明变量
- 方法①:返回一个初始化所有全局变量的操作(Op)
init = tf.global_variables_initializer() with tf.Session() as sess:print(sess.run(init))
- 方法②
with tf.Session() as sess:print(sess.run(tv1.initializer))
- 方法①:返回一个初始化所有全局变量的操作(Op)
tf.placeholder
定义占位符时必须指定数据类型。- 需要大规模的常量张量对象时,为优化内存,将它们声明为一个可训练标志设置为 False 的变量:
t_large = tf.Varible(large_array,trainable = False)
- 所有的 TensorFlow 数据类型都是基于 Numpy 的,使用
tf.convert_to_tensor()
可以将给定的值转换为张量类型。 - 与 Python/Numpy 序列不同,TensorFlow 序列不可迭代。例如:
将会报错for i in tf.range(10)
# typeError("'Tensor'object id not iterable.")
这篇关于【学习笔记】TensorFlow学习笔记(C语言中文网教程)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!