深度学习:Tensorflow的基本概念和张量

简介: 深度学习:Tensorflow的基本概念和张量
计算密集型(cpu计算)
    -tensorflow
IO密集型(web,磁盘)
    -django
    -scrapy

1、基本概念

tensor 张量-数据结构

op 专门运算的操作节点

graph 图:整个程序的结构

session 会话:运算程序的图


图默认已经注册:

一组表示tf.Operation计算单位的对象

和 tf.Tensor表示操作之间流动的数据单位的对象


获取图

graph = tf.get_defaul_graph()

默认图,相当于给程序分配内存


创建图

g = tf.Graph()
with g.as_default():
    pass

op: 只要使用tensorflow的API定义函数都是OP

tensor: 指代的就是数据


tensorflow

-前端系统:定义程序的图的机构

-后端系统:运算图结构


会话:

-运行图的机构

-分配资源计算

-掌握资源(变量的资源,队列,线程)


使用 1

session = tf.Session()
session.run()
session.close()

使用 2 上下文管理器


with tf.Session() as session:
    session.run()

Session参数:

1、可以指定图 graph参数

2、显示运行设备

config = tf.ConfigProto(log_device_placement=True)


命令行交互


>> import tensorflow as tf
>> tf.InteractiveSession()

只要有会话开启,就可以使用


varible.eval()


session.run()

varible.eval()
session.run()

参数:


fetches 变量,列表,元组

namedtuple,dict,OrderDict

重载的运算符,默认会给运算符重载为op了O型


注意:不是op不能运算


feed_dict 训练数据,实时提供数据去进行训练

placeholder 占位符


# None为不固定长度
plt = tf.placeholder(tf.float32, shape=[None, 3])
data = [[1, 2, 3], [4, 5, 6]]
with tf.Session() as session:
    session.run(plt, fead_dict={plt: data})

张量

numpy as np
数组 ndarray  矩阵      张量 tensor = ndarray
0维           2维       
1维
2维

2、基本数据格式

一个类型化的N维度数组(tf.Tensor)

Tensor(名称, 维度形状, 数据类型)


常用数据类型

tf.float32

tf.int32


张量的属性

graph图

op操作名

name 字符串描述

shaple 形状

0维()

1维(4)

2维(3, 4)

3维(3, 4, 2)


Numpy reshape 直接修改形状


动态形状和静态形状

在于有没有生成一个新的张量数据


静态形状

tf.Tensor.get_shape()

tf.Tensor.set_shape()

静态形状,一旦张量形状固定了,不能再次设置,不能跨维度修改

1D-> 1D 2D->2D


动态形状

tf.reshape()

动态形状可以去创建一个新的张量, 元素数量要匹配

1D -> 2D 1D->3D


# 静态形状
plt = tf.placeholder(tf.float32, (None, 2))
plt.set_shape((3, 2))
# 动态形状
plt_reshape = tf.reshape(plt, (2, 3))

3、张量操作

3.1 创建张量

# 所有元素为0的张量
tf.zeros(shape, dtype=tf.float32, name=None)
tf.zeros_like(tensor, dtype=None, name=None)
tf.ones(shape, dtype=tf.float32, name=None)
tf.ones_like(tensor, dtype=None, name=None)
tf.fill(dims, value, name=None)
# 创建一个常数张量
tf.constant(value, dtype=None, shape=None, name="Const")
# 正态分布(高斯分布)随机张量
tf.truncated_normal(shape, mean=0.0,stddev=1.0, dtype=tf.float32, seed=None, name=None)
# 从正态分布中取随机数
tf.random_normal(shape, mean=0,0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

方差:数据的离散程度

平均值,标准差


张量变换


3.2 改变类型

tf.string_to_number(string_tensor, out_type=None, name=None)
tf.cast(x, dtype, name=None)

3.3 形状变换

tf.shape(input, name=None)
tf.reshape(tensor, shape, name=None)
# 切片扩展
tf.concat(values, axis, name="concat")

代码示例


import tensorflow as tf
tf.InteractiveSession()
a = [[1, 2, 3], [4, 5, 6]]
b = [[7, 8, 9], [10, 11, 12]]
c = tf.concat([a, b], axis=0)
c.eval()
Out[8]: 
array([[ 1,  2,  3],
       [ 4,  5,  6],
       [ 7,  8,  9],
       [10, 11, 12]], dtype=int32)
d = tf.concat([a, b], axis=1)
d.eval()
Out[10]: 
array([[ 1,  2,  3,  7,  8,  9],
       [ 4,  5,  6, 10, 11, 12]], dtype=int32)

4、Tensor提供的API

算术运算

基本数据函数

矩阵运算

减少维度的运算(求平均值)

序列运算

目录
打赏
0
0
0
0
58
分享
相关文章
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
683 55
从概念到商业价值:AI、机器学习与深度学习全景指南
在这个科技飞速发展的时代🚀,人工智能正以惊人的速度渗透到我们的生活和工作中👀。但面对铺天盖地的AI术语和概念,很多人感到困惑不已😣。"AI"、"机器学习"、"深度学习"和"神经网络"到底有什么区别?它们如何相互关联?如何利用这些技术提升工作效率和创造价值?
82 0
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
275 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
302 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
从方向导数到梯度:深度学习中的关键数学概念详解
方向导数衡量函数在特定方向上的变化率,其值可通过梯度与方向向量的点积或构造辅助函数求得。梯度则是由偏导数组成的向量,指向函数值增长最快的方向,其模长等于最速上升方向上的方向导数。这两者的关系在多维函数分析中至关重要,广泛应用于优化算法等领域。
277 36
从方向导数到梯度:深度学习中的关键数学概念详解
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
396 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
深度学习工具和框架详细指南:PyTorch、TensorFlow、Keras
在深度学习的世界中,PyTorch、TensorFlow和Keras是最受欢迎的工具和框架,它们为研究者和开发者提供了强大且易于使用的接口。在本文中,我们将深入探索这三个框架,涵盖如何用它们实现经典深度学习模型,并通过代码实例详细讲解这些工具的使用方法。
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
270 8
TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤
本文介绍了 TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤,包括数据准备、模型定义、损失函数与优化器选择、模型训练与评估、模型保存与部署,并展示了构建全连接神经网络的具体示例。此外,还探讨了 TensorFlow 的高级特性,如自动微分、模型可视化和分布式训练,以及其在未来的发展前景。
726 5
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
337 3
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问