锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 软件开发
  3. python
  4. 深度学习-01 Pytorch

深度学习-01 Pytorch

0
  • python
  • 发布于 2024-09-26
  • 0 次阅读
黄健
黄健

PyTorch是一个开源的机器学习框架,它提供了一个灵活的高级接口,可以帮助开发者构建神经网络模型以及进行深度学习的训练和推理。PyTorch基于Torch库和Lua编程语言开发而来,但在PyTorch中使用Python作为主要编程语言。PyTorch的设计目标是简单易用、灵活性强,并且可以提供高性能的计算。它的核心特点包括:
1.动态图计算:PyTorch使用动态图计算方式,这意味着在编写代码时可以直接操作和修改计算图,而不需要预先定义静态图。
2.自动求导:PyTorch能够自动计算张量的导数,这对于训练神经网络模型非常重要。开发者可以使用autograd模块轻松地定义和计算导数。
3.强大的GPU加速:PyTorch支持使用GPU进行计算,可以充分发挥GPU在深度学习任务中的性能优势。开发者可以通过简单的代码更改,将计算转移到GPU上。
4.大型社区支持:PyTorch拥有一个庞大的用户社区,有许多开发者不断贡献新的功能和工具,以及解决问题和提供支持。
5.深度学习框架的完整功能:PyTorch提供了许多用于构建和训练深度学习模型的工具和功能,如各种层、优化算法和损失函数等。

本地解释器位置: D:\deeplearning\anaconda3\envs\pytorch\python.exe

Tensboard是一个用于可视化和分析深度学习模型训练过程中中间结果的工具。它是TensorBoard的一个扩展,可用于PyTorch和TensorFlow模型。
1.Tensboard为我们提供了一个交互式的界面,可以帮助我们更好地理解我们的模型如何学习和改进。它可以显示训练过程中的损失函数变化、模型准确率、学习率等指标的趋势图。此外,Tensboard还提供了可视化工具,可以显示模型中的权重、梯度和激活值的分布情况,帮助我们分析模型的表现和瓶颈。
2.使用Tensboard非常简单,只需在代码中添加几行代码,就可以将关键的训练指标和中间结果保存到日志文件中。然后,我们可以在Tensboard界面上加载这些日志文件,即可查看模型训练的详细信息和可视化结果。

tensorboard --logdir=logs       //打开 tensorboard生成的logs下的文件

Transforms是PyTorch中的一个重要模块,用于数据预处理和数据增强。它提供了多种常用的转换函数,可以对图像、文本、张量等进行各种操作。
在PyTorch中,数据预处理通常是在数据加载之前进行的。通过使用transforms模块,可以对原始数据进行多种操作,如缩放、裁剪、旋转、翻转、标准化等,以便更好地适应模型的训练要求。同时,transforms还可以用于数据增强,通过随机变换数据的方式来扩充训练集,提高模型的泛化能力。

tensor_trans=transforms.ToTensor()              #声明一个转换tensor类型的工具
tensor_img=tensor_trans(img)                    #转换图片类型


#一些例子
from PIL import Image
from torchvision import transforms
from torch.utils.tensorboard import SummaryWriter
from torchvision.transforms import Resize

writer=SummaryWriter("logs")
img=Image.open("hymenoptera_data/train/bees/39747887_42df2855ee.jpg")
print(img)

# ToTensor
trans_totensor=transforms.ToTensor()
img_tensor=trans_totensor(img)
writer.add_image("ToTensor",img_tensor)


# Normalize
print(img_tensor[0][0][0])
trans_norm=transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])
img_norm=trans_norm(img_tensor)
print(img_norm[0][0][0])
writer.add_image("Normlize",img_norm)

# Resize
print(img.size)
trans_resize=transforms.Resize((512,512))
# img PIL->resize->img_resize PIL
img_resize=trans_resize(img)
# img_resize PIL->totensor->img_resize tensor
img_resize=trans_totensor(img_resize)
writer.add_image("Resize",img_resize)
print(img_resize)

# Compose - resize - 2
#还有很多方法。。。。。。

writer.close()

原文链接: https://blog.csdn.net/qq_53568730/article/details/142005158

标签: #Python 23
相关文章

XGBOOST算法Python实现(保姆级) 2024-09-29 16:36

摘要 XGBoost算法(eXtreme Gradient Boosting)在目前的Kaggle、数学建模和大数据应用等竞赛中非常流行。本文将会从XGBOOST算法原理、Python实现、敏感性分析和实际应用进行详细说明。 目录 0 绪论 一、材料准备 二、算法原理 三、算法Python实现

Python 神器:wxauto 库——解锁微信自动化的无限可能 2024-09-29 11:21

📝个人主页🌹:誓则盟约 ⏩收录专栏⏪:机器学习 🤡往期回顾🤡:“探索机器学习的多面世界:从理论到应用与未来展望” 🌹🌹期待您的关注 🌹🌹

【python】python代码打包工具cx_Freeze的介绍、原理、用法及实战案例分析 2024-09-29 11:21

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦\~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,PyQt5和Tk

python基础 --- 爬虫前篇 2024-09-29 11:21

python 文章目录 python 变量 * 变量类型 输出 运行程序 ctrl+shift+f10 命名规范:字母,数字,下划线 开头不能是数字 注释: ctrl+? 字典 键key:值value * 修改字典的信息 字典添加一个键值对

NumPy的基本特性 2024-09-26 17:57

NumPy作为Python中用于科学计算的基础库,不仅提供了强大的多维数组对象,还包含了一系列用于操作这些数组的函数和工具。它极大地简化了数组操作,提高了数据处理的效率和灵活性,是数据科学、机器学习、图像处理等领域不可或缺的工具。以下是对NumPy的深入探索,包括其基本特性、高级功能、应用场景以及性

网络自动化:利用Python和Ansible实现网络配置管理 2024-09-26 17:57

网络自动化:利用Python和Ansible实现网络配置管理 在当今快速变化的IT环境中,网络自动化已成为提升运维效率、减少人为错误、加速服务交付的关键技术之一。Python和Ansible作为两种强大的工具,在网络配置管理中发挥着重要作用。本文将深入探讨如何利用Python和Ansible实现网络

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.