ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

深度学习之路2

2021-11-08 14:00:01  阅读:144  来源: 互联网

标签:TensorFlow graph 之路 学习 tf 深度 print new tensorflow


TensorFlow的特点与介绍

CPU与GPU的对比

一个通俗易懂的理解:

TensorFlow的结构分析

所以,写TensorFlow代码时,一个是构建图的阶段(流程图,定义数据的操作);一个是执行图阶段(调用各方资源,将定义好的数据和操作运行起来)

 数据流图介绍

 

 

一个简单的加法案例:

#导入tensorflow
import tensorflow as tf
#将tensorflow转换成1版本的
tf.compat.v1.disable_eager_execution()
tf = tf.compat.v1
def tensorflow_demo():
    '''
    TensorFlow的基本结构
    :return:
    '''
    #原生python实现加法运算
    a = 2
    b = 3
    c = a+b
    print("原生python实现加法运算:\n",c)
    #TensorFlow实现假发运算
    a_t = tf.constant(2,name="a_T")
    b_t = tf.constant(3,name="b_T")
    c_t = a_t + b_t
    print("tensorflow加法运算的结果\n",c_t)
    #开启回话
    with tf.Session() as sess:
        c_t_value = sess.run(c_t)
        print("c_t_value\n",c_t_value)
    return None

结果:

 可以看到,如果我们只定义张量,并在执行加法操作之后,输入的结果并不是加法和的结果,而是一个张量,想要看到加法的结果,我们必须去开启会话,然后运行,才能得到结果。

TensorFlow的图结构

说白了,就是数据(Tensor)+操作(Operation) 

1 默认图

代码:

#查看默认图
# 1 调用方法
default_g = tf.get_default_graph()
print("default_g:\n",default_g)
# 2 查看属性
print("a_t的图属性:\n",a_t.graph)
print("c_t的图属性:\n", c_t.graph)

输出:

 

2 创建图

代码:

#自定义图,tensorflow中的每一个图都有自己的一个命名空间
new_g = tf.Graph()
#在自定义的图(new_g)中定义数据和操作,需要借助于上下文管理器
with new_g.as_default():
    a_new = tf.constant(20)
    b_new = tf.constant(30)
    print("a_new:\n", a_new)
    print("b_new:\n", b_new)
    c_new = a_new + b_new
    print("c_new:\n",c_new)
    #查看图属性
    print("a_new的图属性\n", a_new.graph)
    print("c_new的图属性\n",c_new.graph)

输出:

TensorBoard可视化:

可视化步骤:

1 数据序列化 -events文件

#图的可视化
#1 将图写入本地生成events文件
#tf.summary.FileWriter("summary",graph=sess.graph)
#2 在浏览器查看tenforboard

2 启动TensorBoard

OP(操作函数&操作对象)

常见的op

 

 简单的实例

关于打印出来的张量值

指令名称

 

 

 

 

 

 

 

 

 

 

 

标签:TensorFlow,graph,之路,学习,tf,深度,print,new,tensorflow
来源: https://blog.csdn.net/wgbzj/article/details/121205594

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有