人工智能:PyTorch深度学习框架介绍

目录

1、PyTorch

2、PyTorch常用的工具包

3、PyTorch特点

4、PyTorch不足之处


今天给大家讲解一下PyTorch深度学习框架的一些基础知识,希望对大家理解PyTorch有一定的帮助!

1、PyTorch

PyTorch是一个基于Torch的Python机器学习框架。它是由Facebook的人工智能研究小组在2016年开发的,解决了Torch因为使用Lua编程语言普及度不高的问题,故采用了集成非常广泛的Python编程语言来实现。

2、PyTorch常用的工具包

  • torch:类似于Numpy的通用数组库,可以在将张量类型转换为(torch.cuda.TensorFloat)并支持在GPU上进行计算。
  • torch.autograd:主要用于构建计算图形并自动获取渐变的包
  • torch.nn:具有共同层和成本函数的神经网络库
  • torch.optim:具有通用优化算法(如SGD,Adam等)的优化包
  • torch.utils:数据载入器。具有训练器和其他便利功能
  • torch.legacy(.nn/.optim) :处于向后兼容性考虑,从 Torch 移植来的 legacy 代码
  • torch.multiprocessing: python 多进程并发,实现进程之间 torch Tensors 的内存共享

3、PyTorch特点

  • 动态神经结构:PyTorch通过一种反向自动求导的技术,可以做到零延迟地任意改变神经网络的行为,避免因为构建神经网络完成后,如果需要调整神经网络结构,只能从头开始的麻烦,采用PyTorch大大节省了人力和时间成本。
  • Debug调试方便:PyTorch 的设计思路是线性、直观且易于使用的,当你执行一行代码时,一步步去执行,不涉及异步调试的繁琐,所以当代码出现Bug 的时候,可以通过很方便定位代码的位置,避免因为bug错误的指向或者异步和不透明的引擎造成查询问题的麻烦。
  • 代码简洁易懂:PyTorch的代码相对于Tensorflow更加简洁容易读懂,并且PyTorch本身源代码阅读起来也要友好很多这样更容易深入理解PyTorch。
  • 社区活跃度高: PyTorch 拥有一个非常活跃的社区和论坛(discuss.pytorch.org)。它的文档(pytorch.org)梳理的非常清晰,初学者入门很快;并且它与 PyTorch 版本保持同步,并提供一组完整教程。PyTorch 使用起来非常简单,所以学习成本也就比较低。

4、PyTorch不足之处

  • 可视化监控能力弱:缺少直接可用监控和可视化接口:
  • 不如TensorFlow应用广泛: PyTorch 不是端到端的机器学习开发工具;实际应用程序的开发需要将 PyTorch 代码转换为另一个框架,例如 Caffe2,转换后将应用程序部署到服务器、工作站和移动设备。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux下安装配置MySQL

一、删除原来的MySQL 在安装前要先确定系统是否已经安装了其他版本的MySQL,如已安装其他版本的MySQL,需先删除后再安装新版本。 1. 执行yum命令,删除MySQL的lib库,服务文件 yum remove mysql mysql-server mysql-libs mysql-serve…

Python4 高级特性

切片 取一个list或tuple的部分元素是非常常见的操作。比如,一个list如下: >>> L [Michael, Sarah, Tracy, Bob, Jack] 取前3个元素,用一行代码就可以完成切片(Slice): >>> L[0:3] [Mich…

WebSocket 是什么原理?为什么可以实现持久连接?什么情况使用WebSocket

作者:Ovear链接:https://www.zhihu.com/question/20215561/answer/40316953来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。额。。最高票答案没答到点子上,最后怎么跑到Nodejs上去了。…

【Swift学习笔记-《PRODUCT》读书记录-实现自定义转场动画】

iOS默认的push动画是把即将展示的控制器从右边推过来。有时我们想实现类似PPT中的一些动画,这时候就需要自定义转场动画了。如下图我们想实现一个淡出并且放大的过场动画,在退出时是一个淡出缩小的动画。 首先需要自定义一个类DiaryAnimator.swift遵守 U…

【JZOJ3598】【CQOI2014】数三角形

Mission 对于100%的数据1<m,n<1000 Solution 鬼题&#xff0c;ansC3(n∗m)−Ans&#xff0c;其中Ans表示三点共线的数目&#xff1b; 枚举最长边的向量(x,y)&#xff0c;容易算出贡献及个数。 Code #include<iostream> #include<stdio.h> #include<algor…

NSTimer定时器进阶——详细介绍,循环引用分析与解决

引言 定时器&#xff1a;A timer waits until a certain time interval has elapsed and then fires, sending a specified message to a target object. 翻译如下&#xff1a;在固定的时间间隔被触发&#xff0c;然后给指定目标发送消息。总结为三要素吧&#xff1a;时间间隔、…

35:字符串的展开

35:字符串的展开 查看提交统计提问总时间限制: 1000ms内存限制: 65536kB描述在初赛普及组的“阅读程序写结果”的问题中&#xff0c;我们曾给出一个字符串展开的例子&#xff1a;如果在输入的字符串中&#xff0c;含有类似于“d-h”或者“4-8”的字串&#xff0c;我们就把它当作…

Josn

1转载于:https://www.cnblogs.com/zouxiaofan/p/6523998.html

HTML - 超文本标记语言 (Hyper Text Markup Language)

HTML - 超文本标记语言 (Hyper Text Markup Language) HTML是建设网站/网页制作主要语言。 HTML是一种易于学习的标记语言。 HTML使用像 <p> 尖括号内标记标签来定义网页的内容&#xff1a; HTML 实例 <html><body><h1>My First Heading</h1><…

AOP切入同类调用方法不起作用,AopContext.currentProxy()帮你解决这个坑

原来在springAOP的用法中&#xff0c;只有代理的类才会被切入&#xff0c;我们在controller层调用service的方法的时候&#xff0c;是可以被切入的&#xff0c;但是如果我们在service层 A方法中&#xff0c;调用B方法&#xff0c;切点切的是B方法&#xff0c;那么这时候是不会切…

[转]Installing Memcached on Windows

Installing Memcached on Windows 原文链接https://commaster.net/content/installing-memcached-windowsSubmitted by COMMASTER21JAN 15Memcached is a high performance, in-memory key-value store or caching system. Its main purpose is to speed up web applications b…

Java高级面试题

Java多线程 1、线程池的原理&#xff0c;为什么要创建线程池&#xff1f; 答&#xff1a;1)线程池可以降低创建和销毁线程时的资源消耗&#xff0c;提高响应速度&#xff0c;提高现成的可管理性。 2)线程池构造参数&#xff1a; corePoolSize:核心线程数 maximumPoolSize:最大…

访问修改属性日志

1 import time as t2 3 class Record:4 def __init__(self,value None,name None):5 self.value value6 self.name name7 8 def __get__(self,instance,owner):9 with open(D://record.txt,a) as f: 10 f.write(%s变量于北京时…

不自定义异步方法的线程池默认使用SimpleAsyncTaskExecutor

如果不自定义异步方法的线程池默认使用SimpleAsyncTaskExecutor。SimpleAsyncTaskExecutor&#xff1a;不是真的线程池&#xff0c;这个类不重用线程&#xff0c;每次调用都会创建一个新的线程。并发大的时候会产生严重的性能问题。 定义通用线程池 EnableAsync Configuratio…