学习笔记 | 深度学习开发—TensorFlow实践(基本运算)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 学习笔记 | 深度学习开发—TensorFlow实践(基本运算)

1. TensorFlow运行模型—会话


Session会话拥有并管理TensorFlow程序运行时的所有资源,当所有计算完成之后需要关闭会话帮助系统回收资源。


1. 会话模式1

sess=tf.Session()#创建会话
sess.run()#启动会话
sess.close()#关闭会话,释放资源
sess=tf.Session()
try:
sess.run()
except:
Print(“Exception”)
finally:
sess.close()

1. 指定默认的会话

sess=tf.Session()#创建会话
with sess as_default():
print(result.eval())

1. 交互环境下设置默认会话

tf.InteractiveSession使用这个函数会自动将生成的会话注册为默认会话
sess=tf.InteractiveSession()
print(result.eval())
sess.close()

常量与变量

常量constant

在运行过程中值不会改变的单元,在TensorFlow中无需进行初始化操作


创建语句:consrtant_name=tf.constant(value)


变量Variable

在运行过程中值会改变的单元,在TensorFlow中需进行初始化操作


Variable_name=tf.Variable(value,name)#V是大写


个别变量初始化:


init_op=name_variable.initializer()


sess.run(init_op)


所有变量初始化:


init_op=tf.global_variables_initializer()


sess.run(init_op)

变量赋值

TensorFlow中的变量定义后,一般无需人工赋值,系统会根据算法模型,训练优化过程中自动调整变量对应的数值。特殊情况下需要人工更新,可用变量赋值语句,变量更新语句:


update_op=tf.assign(variable_to_be_update,new_value)

import  tensorflow as tf#导入tensorflow模型
tf.reset_default_graph()#清楚默认图和不断增加的节点
#通过变量赋值输出1.2.3.……10
value=tf.Variable(0,name="value")
one=tf.constant(1)
new_value=tf.add(value,one)
update_value=tf.assign(value,new_value)
init=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    for _ in range(10):
        sess.run(update_value)
        print(sess.run(value))
logdir='D:/pycharm project/logs'
#生成一个写日志的writer,并将当前的tensorflow计算图写入日志
writer=tf.summary.FileWriter(logdir,tf.get_default_graph())
writer.close()

image.png思考:如何利用tensorflow变量赋值计算1+2+3……+10?

import  tensorflow as tf#导入tensorflow模型
tf.reset_default_graph()#清楚默认图和不断增加的节点
#通过变量赋值输出1+2+3+……10
value=tf.Variable(0,name="value")
sums=tf.Variable(0,name="sums")
one=tf.constant(1)
new_value=tf.add(value,one)
update_value = tf.assign(value, new_value)
new_sum = tf.add(sums,value)
update_sum = tf.assign(sums,new_sum)
init=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    for _ in range(10):
        sess.run(update_value)
        sess.run(update_sum)
    print(sess.run(sums))
logdir='D:/pycharm project/logs'
#生成一个写日志的writer,并将当前的tensorflow计算图写入日志
writer=tf.summary.FileWriter(logdir,tf.get_default_graph())
writer.close()

占位符placeholder

TensorFlow中的Variable变量类型,在定义时需要初始化,但有些变量定义时并不知道其数值,只有当真正开始运行程序时,才有外部输入,比如训练数据时,这个时候需要占位符。tf.placeholder占位符,是tensorflow中特有的一种数据结构,类似动态变量,函数的参数,或者c语言或者python语言中格式化输出时的“%”占位符。


tf.placeholder(dtype,shape=None,name=None)



x=tf.placeholder(tf.float32,[2,3],name=”x”)


Feed提交数据

如果构建了一个包含placeholder操作的计算图,当在session中调用run方法时,placeholder占用的变量必须通过feed_dict参数传递进去,否则报错。

import tensorflow as tf
a=tf.placeholder(tf.float32,name="a")
b=tf.placeholder(tf.float32,name="b")
c=tf.multiply(a,b,name="c")
init=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    #通过feed_dict的参数传值,按字典格式
    result=sess.run(c,feed_dict={a:8.0,b:3.5})
    print(result)

多个操作可以通过一次feed完成执行。

import tensorflow as tf
a=tf.placeholder(tf.float32,name="a")
b=tf.placeholder(tf.float32,name="b")
c=tf.multiply(a,b,name="c")
d=tf.multiply(a,b,name="d")
init=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    #通过feed_dict的参数传值,按字典格式
    result=sess.run([c,d],feed_dict={a:[8.0,2.0,3.5],b:[1.5,2.0,4.0]})
    print(result)
    #取结果中第一个
    print(result[0])

1. feed和fetch

一次返回多个值分别赋给多个变量

import tensorflow as tf
a=tf.placeholder(tf.float32,name="a")
b=tf.placeholder(tf.float32,name="b")
c=tf.multiply(a,b,name="c")
d=tf.multiply(a,b,name="d")
init=tf.global_variables_initializer()
with tf.Session() as sess:
    sess.run(init)
    #通过feed_dict的参数传值,按字典格式
    rc,rd=sess.run([c,d],feed_dict={a:[8.0,2.0,3.5],b:[1.5,2.0,4.0]})
    print("c=",rc,"d=",rd)
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
449 55
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
ModelScope深度学习项目低代码开发
低代码开发平台通过丰富的预训练模型库、高度灵活的预训练模型和强大的微调训练功能,简化深度学习项目开发。以阿里魔搭为例,提供大量预训练模型,支持快速迭代与实时反馈,减少从头训练的时间和资源消耗。开发者可轻松调整模型参数,适应特定任务和数据集,提升模型性能。ModelScope平台进一步增强这些功能,提供模型搜索、体验、管理与部署、丰富的模型和数据资源、多模态任务推理及社区协作,助力高效、环保的AI开发。
202 65
|
14天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
52 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
108 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
深度学习工具和框架详细指南:PyTorch、TensorFlow、Keras
在深度学习的世界中,PyTorch、TensorFlow和Keras是最受欢迎的工具和框架,它们为研究者和开发者提供了强大且易于使用的接口。在本文中,我们将深入探索这三个框架,涵盖如何用它们实现经典深度学习模型,并通过代码实例详细讲解这些工具的使用方法。
|
3月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
247 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤
本文介绍了 TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤,包括数据准备、模型定义、损失函数与优化器选择、模型训练与评估、模型保存与部署,并展示了构建全连接神经网络的具体示例。此外,还探讨了 TensorFlow 的高级特性,如自动微分、模型可视化和分布式训练,以及其在未来的发展前景。
483 5
|
4月前
|
机器学习/深度学习 人工智能 TensorFlow
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
198 3
|
4月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
207 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
4月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
211 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型

热门文章

最新文章