【深度学习】Tensorflow、MindSpore框架介绍及张量算子操作实战(超详细 附源码)

简介: 【深度学习】Tensorflow、MindSpore框架介绍及张量算子操作实战(超详细 附源码)

一、Tensorflow、MindSpore

Google公司于2015年开源了深度学习框架TensorFlow,推动了深度学习的发展,得到了广泛应用,用户数量庞大。

华为公司于2020年开源了自己的深度学习框架MindSpore,现处于快速发展中。

TensorFlow2深度学习框架支持CPU、GPU和Google自己的TPU处理器作为计算平台。MindSpore深度学习框架支持CPU、GPU和华为的昇腾Ascend处理器作为计算平台。

这两个深度学习框架的功能都很强大,内容庞大,包括数据预处理、模型建立与训练、实际工业部署等方方面面。对于初学者来说,刚开始不必面面俱到,应集中精力掌握深度学习的基本知识。

在它们的官网提供了有关框架的详细说明文档,但是要理解这些文档,需要具备深度学习的基本知识。

TensorFlow2和MindSpore深度学习框架中,张量(Tensor)是基本的数据结构,算子是施加在张量上的各种操作,它们是理解深度学习框架最基本的概念。

张量是多维排列的数据。不同维度的张量分别表示不同的数据,0维张量表示标量,1维张量表示向量,2维张量表示矩阵,3维张量可以表示彩色图像的RGB三通道等等。

张量数据的类型与NumPy的数据类型一致,包括各类整数类型和浮点数类型。在深度学习中,一般将待处理的数据规范化为特定维度的张量,例如,在图像处理时,彩色像素点的红、绿、蓝三色值用一个3维的张量来表示。

对张量可以进行与Numpy类似的改变维数reshape、转置transpose、切片slice、索引index、拼接concat、分割splite和排序topk等操作,以及常见的加、减、乘、除和比较等运算。

要注意的是,TensorFlow2和MindSpore框架中,张量的表示方式有差异,在使用时应注意区别。

二、张量与算子的操作

下面以数组元素的平方和为例示意张量与算子的操作

1:numpy计算

import numpy as np
np_x = np.array([1.0, 2.0, 6.0])
print("numpy output = ", np.square(np_x)) # 或者 np_x ** 2;np_x * np_x; np.power(np_x, 2)

2:MindSpore计算

 

import mindspore as ms
import mindspore.ops.operations as P
ms_x = ms.Tensor([1.0, 2.0, 6.0], ms.float32) # 生成一个张量
square = P.Square() # 实例化
output = square(ms_x)
print("mindspore output =", output)

3:tensorflow计算

import tensorflow as tf
tf_x = tf.constant([1.0, 2.0, 6.0])
print("tensorflow output = ", tf.pow(tf_x, 2))

4:对python运算符的支持

print(np_x ** 2)
print(ms_x ** 2)
print(tf_x ** 2)

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
17天前
|
机器学习/深度学习 API 语音技术
|
3月前
|
机器学习/深度学习 存储 人工智能
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(3)
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(3)
81 0
|
3月前
|
机器学习/深度学习 Dart TensorFlow
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(5)
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(5)
72 0
|
11天前
|
机器学习/深度学习 运维 监控
TensorFlow分布式训练:加速深度学习模型训练
【4月更文挑战第17天】TensorFlow分布式训练加速深度学习模型训练,通过数据并行和模型并行利用多机器资源,减少训练时间。优化策略包括配置计算资源、优化数据划分和减少通信开销。实际应用需关注调试监控、系统稳定性和容错性,以应对分布式训练挑战。
|
机器学习/深度学习 TensorFlow 算法框架/工具
TensorFlow核心组件详解:张量、图与会话
【4月更文挑战第17天】TensorFlow的核心是张量、计算图和会话。张量是基本数据单元,表示任意维度数组;计算图描述操作及它们的依赖关系,优化运行效率;会话是执行计算图的环境,负责操作执行和资源管理。在TF 2.x中,Eager Execution模式简化了代码,无需显式创建会话。理解这些组件有助于高效开发深度学习模型。
|
17天前
|
机器学习/深度学习 PyTorch API
|
2月前
|
机器学习/深度学习 PyTorch TensorFlow
Python中的深度学习:TensorFlow与PyTorch的选择与使用
Python中的深度学习:TensorFlow与PyTorch的选择与使用
|
2月前
|
机器学习/深度学习 数据可视化 TensorFlow
基于tensorflow深度学习的猫狗分类识别
基于tensorflow深度学习的猫狗分类识别
63 1
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
【TensorFlow】深度学习框架概述&TensorFlow环境配置
【1月更文挑战第26天】【TensorFlow】深度学习框架概述&TensorFlow环境配置
|
3月前
|
机器学习/深度学习 存储 编解码
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(4)
TensorFlow Lite,ML Kit 和 Flutter 移动深度学习:6~11(4)
122 0

热门文章

最新文章