- 博客(41)
- 资源 (8)
- 收藏
- 关注
原创 pytorch serve开始-Getting started
注意:如果你在运行TorchServe时指定了模型,它会自动将后端worker的数量扩展到等于可用vcpu的数量(如果你在CPU实例上运行)或可用GPU的数量(如果你在GPU实例上运行)。如果你想最小化TorchServe的启动时间,你应该避免在启动时间注册和扩展模型,并通过使用相应的管理API(例如,如果您将存储库克隆到/home/my_path/serve,则从/home/my_path运行步骤。如果你想调试处理程序代码,可以只使用后端运行TorchServe,因此可以使用任何python调试器。
2023-12-10 11:01:41
201
1
原创 PyTorch翻译官网教程-PROFILING YOUR PYTORCH MODULE
分析器与主线程在同一个线程中运行,但它也会分析可能在另一个线程中运行的子线程。同时运行的分析器将被限制在它们自己的线程中,以防止混合结果。请注意,就内存和时间而言,最昂贵的操作是掩码索引中的forward(10)操作。将每个子任务的代码包装在单独的带标签的上下文管理器中。在分析器的输出中,子任务中所有操作的综合性能指标将显示在相应的标签下。PyTorch 1.8引入了新的API,将在未来的版本中取代旧的分析器API。,它根据操作及其回溯(截断为最近的5个事件)汇总运行时间,并按注册的顺序显示事件。
2023-08-20 20:55:24
547
原创 PyTorch翻译官网教程-TEXT CLASSIFICATION WITH THE TORCHTEXT LIBRARY
该模型由层和用于分类的线性层组成。使用模式模式”mean“ 的nn.EmbeddingBag 计算”bag“Embedding的平均值。尽管这里的文本条目具有不同的长度,但模块在这里不需要填充,因为文本长度保存在偏移量中。此外,由于在运行中累计了所有Embedding的平均值,因此可以提高处理一系列张量的性能和内存效率。print(
2023-08-19 16:12:12
417
原创 PyTorch翻译官网教程-NLP FROM SCRATCH: TRANSLATION WITH A SEQUENCE TO SEQUENCE NETWORK AND ATTENTION
从输入的单词序列中直接生成正确的译文是很困难的。与字符级RNN教程中使用的字符编码类似,我们将把语言中的每个单词表示为一个独热向量,或者巨大的零向量只有一个1(在单词的索引处)。你可以观察到teacher-forced 网络的输出,它们阅读时语法连贯,但偏离了正确的翻译——从直觉上讲,它已经学会了表示输出的语法,并且可以在教师告诉它前几个单词时“拾取”意思,但它还没有正确地学会如何从翻译中创建句子。为了训练,对于每个对,我们将需要一个输入张量(输入句子中单词的索引)和目标张量(目标句子中单词的索引)。
2023-08-12 16:37:32
163
原创 PyTorch翻译官网教程-NLP FROM SCRATCH: GENERATING NAMES WITH A CHARACTER-LEVEL RNN
最大的区别在于,我们不是在读取一个名字的所有字母后预测一个类别,而是输入一个类别并每次输出一个字母。为了进行示例,我们给网络一个字母并询问下一个字母是什么,将其作为下一个字母输入,并重复直到EOS令牌。当训练时,我们在每个时间步向网络提供它,这是一个设计选择,它可以作为初始隐藏状态的一部分或其他策略。与其给它一个起始字母,另一种策略是在训练中包含一个“字符串起始”标记,并让网络选择自己的起始字母。我们将创建(“A”,“B”),(“B”,“C”),(“C”,“D”),(“D”,“EOS”)。
2023-08-12 13:53:47
728
原创 PyTorch翻译官网教程-NLP FROM SCRATCH: CLASSIFYING NAMES WITH A CHARACTER-LEVEL RNN
为了运行这个网络的一个步骤,我们需要传递一个输入(在我们的例子中,是当前字母的张量)和一个先前的隐藏状态(我们一开始将其初始化为零)。我们将返回输出(每种语言的概率)和下一个隐藏状态(我们将其保留到下一步)。字符级RNN将单词作为一系列字符来读取 ,每一步输出一个预测和“隐藏状态”,将之前的隐藏状态输入到下一步。为了了解网络在不同类别上的表现如何,我们将创建一个混淆矩阵,表示网络猜测(列)的每种语言(行)。额外的1维度是因为PyTorch假设所有的东西都是分批的——我们在这里只是使用1的批大小。
2023-08-12 13:53:17
845
原创 PyTorch翻译官网教程-FAST TRANSFORMER INFERENCE WITH BETTER TRANSFORMER
在本教程中,我们介绍了使用 Better Transformer fastpath快速的transformer 推理,在torchtext 中使用PyTorch核心的 Better Transformer包支持Transformer Encoder 模型。在确认BT fastpath可用性的前提下,我们已经演示了 Better Transformer 的使用。我们已经演示并测试了BT fastpath执行模式·、本机MHA执行和BT稀疏性加速的使用。
2023-08-12 13:52:34
1022
原创 PyTorch翻译官网教程-LANGUAGE MODELING WITH NN.TRANSFORMER AND TORCHTEXT
在本教程中,我们在语言建模任务上训练一个nn.TransformerEncoder模型。请注意,本教程不包括的训练,如上图右半部分所示。语言建模任务是为给定单词(或单词序列)跟随单词序列的可能性分配一个概率。首先将一系列标记传递给源文本嵌入层,然后是一个位置编码器来解释单词的顺序(请参阅下一段了解更多细节)。由的多个层组成。除了输入序列外,还需要一个方形注意掩码,因为在中的自注意层只允许参与序列中较早的位置。对于语言建模任务,应掩盖未来位置上的任何标记。为了生成输出词的概率分布,
2023-08-12 13:51:04
854
原创 PyTorch翻译官网教程-DEPLOYING PYTORCH IN PYTHON VIA A REST API WITH FLASK
我们将首先定义API 路径、请求和响应类型。我们的API路径是/predict它接受带有包含图像的文件参数的HTTP POST请求。响应将是JSON响应,其中包含预测结果。
2023-07-15 11:44:46
2496
原创 PyTorch翻译官网教程8-SAVE AND LOAD THE MODEL
当加载模型权重时,我们需要首先实例化模型类,因为类定义了网络的结构。我们可能希望将该类的结构与模型一起保存,在这种情况下,我们可以使用。如果不这样做,将产生不一致的推理结果。PyTorch模型将学习到的参数存储在一个名为state_dict的内部状态字典中。在本节中,我们将了解如何通过保存、加载和运行模型预测来持久化模型状态。要加载模型权重,需要首先创建同一模型的实例,然后使用。模块,因此它依赖于 加载模型时可用的实际类定义。这种方法在序列化模型时使用Python。一定要在推理之前调用。
2023-07-15 11:42:25
604
原创 PyTorch翻译官网教程7-OPTIMIZING MODEL PARAMETERS
现在我们有了一个模型和数据,是时候通过优化我们的数据参数来训练、验证和测试我们的模型了。在每次迭代中,模型对输出进行预测,计算猜测中的误差(损失),收集误差相对于其参数的导数(如我们在前一节中看到的),并使用梯度下降优化这些参数。损失函数衡量的是得到的结果与目标值的错误程度,这是我们在训练中要最小化的损失函数。优化指的是在每个训练步骤中调整模型参数以减少模型误差的过程。一旦我们设置了超参数,我们就可以用优化循环来训练和优化我们的模型。我们通过注册需要训练的模型参数,并传入学习率超参数来初始化优化器。
2023-07-15 11:41:12
752
原创 PyTorch翻译官网教程6-AUTOMATIC DIFFERENTIATION WITH TORCH.AUTOGRAD
我们使用张量来构造计算图的函数实际上是Function类的对象,该对象知道如何在正向方向上计算函数,以及如何在反向传播步骤中计算其导数。这基本上相当于调用backward(torch.tensor(1.0)),这是在标量值函数的情况下计算梯度的有用方法,例如神经网络训练期间的损失。然而,在一些情况下我们不需要这样做,例如,当我们完成了模型的训练,只想将其应用于一些测试数据时,即我们只想通过网络进行前向计算。传播时,PyTorch会累积梯度的,即计算梯度的值被添加到计算图的所有叶节点的grad属性中。
2023-07-15 11:35:20
883
原创 PyTorch翻译官网教程5-BUILD THE NEURAL NETWORK
我们通过继承nn.Module类来定义神经网络,并在__init__方法中初始化神经网络层。每一个继承nn.Module 的子类要在forward方法中实现对输入数据的操作。nn.ReLU(),nn.ReLU(),我们创建一个NeuralNetwork的实例,并将其移动到设备上,并打印其结构。输出为了使用该模型,我们将输入数据传递给它。这将执行模型的forward 方法,以及一些。不要直接调用model.forward()!
2023-07-07 22:31:07
274
原创 PyTorch翻译官网教程4-TRANSFORMS
它首先创建一个大小为10的零张量(我们数据集中的标签数量),并调用scatter_,它对标签y给出的索引赋值=1。为了训练,我们需要将特征转换为归一化处理的张量,将标签转换为one-hot编码的张量。为了完成这些转换,我们使用ToTensor和Lambda。所有的TorchVision数据集都有两个参数,transform用于修改特征,target_transform用于修改标签。数据并不总是以训练机器学习算法所需的最终处理形式出现,我们使用transforms对数据进行一些操作,使其适合于训练。
2023-07-07 22:26:58
652
原创 PyTorch翻译官网教程3-DATASETS & DATALOADERS
自定义Dataset类必须实现三个函数:__init__, __len__和__getitem__。FashionMNIST图像存储在img_dir目录中,它们的标签单独存储在CSV文件annotations_file中。在接下来的部分中,我们将分解这些函数中发生的事情。import os。
2023-06-24 22:03:07
738
1
原创 PyTorch翻译官网教程2-TENSORS
张量类似于NumPy中的ndarray,除了张量可以在gpu或其他硬件加速器上运行。默认情况下,张量是在CPU上创建的。在PyTorch中,我们使用张量来编码模型的输入和输出,以及模型的参数。超过100多种张量运算操作,包括算术,线性代数,矩阵操作(转置,索引,切片),采样和更多的全面描述在这里(CPU和NumPy数组上的张量可以共享它们的底层内存位置,更改其中一个将更改另一个。形状是张量维度的元组,在下面的函数中,它决定了输出张量的维度。新张量保留原张量参数的属性(形状,数据类型),除非显式覆盖。
2023-06-24 22:01:23
437
原创 PyTorch翻译官网教程1-QUICKSTART
我们将Dataset作为DataLoader的入参,Dataset在数据集上包装了一个可迭代对象,并支持自动批处理、采样、洗牌和多进程数据加载。为了在PyTorch中定义一个神经网络,我们创建了一个继承了nn.Module的类,我们在__init__函数中定义网络层,并在forward函数中指定数据如何通过网络。我们希望看到精度随着时间的推移而提高,损失随着时间的推移而减少。在单个训练循环中,模型对训练数据集进行预测(批量提供给它),并反向传播预测误差以调整模型的参数。请参阅每个部分中的链接以深入了解。
2023-06-24 21:56:21
490
原创 快速掌握TCP的三次握手和四次挥手
前言TCP的三次握手和四次挥手经常会出现在面试题中,而且也是看懂抓包数据的基本知识。本文快速讲解三次握手和四次挥手的流程以及为什么会有三次握手和四次挥手。知识前提TCP/IP中存在两个具有代表性的传输层协议,分别是TCP和UDP。TCPTCP 是面向连接的、可靠的流协议,具备顺序控制、重发控制等机制。建立连接必须进过三次握手,断开连接需要4次挥手。所以TCP常用在传输层有必须可靠传输的情况,比如文件传输,文字发送。UDPUDP是不具有可靠性的数据报协议,UDP不需要建立连接.
2021-01-10 16:29:10
357
原创 ClassLoader详解
ClassLoader详解什么是ClassLoaderClassLoader 叫做类加载器。虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流” 这个动作放到java虚拟机外部去实现,以便让应用程序自己决定去如何获取所需要的类,实现这个动作的代模块称之为“类加载器”。 类与类加载器类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载、连接(验证、
2018-05-09 20:07:04
7931
原创 Prometheus 通过consul动态修改Targets接入
Prometheus 通过consul动态修改Targets接入通常Prometheus 要增加一个target,需要在配置文件中已添加一个job,例如下:- job_name: 'prometheus' static_configs: - targets: ['localhost:9090']每次修改需要直接修改服务器上的配置文件,非常麻烦。Prometheu...
2018-01-21 14:37:01
10709
3
原创 nginx 安装 以及添加ldap模块
1.下载nginx访问http://nginx.org/en/download.html 下载合适的版本2.安装nginx安装nginx之前需要先安装nginx依赖的包yum install gcc-c++yum install -y pcre pcre-develyum install -y zlib zlib-develyum install -y openssl openssl-de
2017-11-22 20:16:11
4359
1
原创 java volatile关键字
java volatile关键字因为在很多代码里总是看到这个关键字,但又没有具体的了解下,所以在这里梳理一下。主要讲解了线程之间的可见性和原子性问题。
2017-08-26 17:27:32
647
原创 flume入门 log4j 输出日志到flume
将log4j产生的日志直接输出到flume控制台1.编写客户端2.pom.xml3. log4j.properties4.配置flume 建立testlog2flume.conf5.到flume目录下启动flume
2017-07-11 09:22:42
7466
原创 MySQL EXPLAIN详解
MySQL Explain 是什么使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。 分析功能表的读取顺序数据读取操作的操作类型哪些索引可以使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查询使用EXPALIN + SQL 语句 执行所包含的信息: id | select_typ
2017-05-17 19:00:54
1422
原创 SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
1.前言本文主要介绍使用SpringBoot与shiro实现基于数据库的细粒度动态权限管理系统实例。 使用技术:SpringBoot、mybatis、shiro、thymeleaf、pagehelper、Mapper插件、druid、dataTables、ztree、jQuery 开发工具:intellij idea 数据库:mysql、redis 基本上是基于使用SpringSecu
2017-05-07 21:11:04
74055
110
原创 SSM整合SpringSecurity实现权限管理实例 javaconfig配置方式
1.前言本文讲述使用javaconfig的方式整合SpringMVC+Mybatis+SpringSecurity实现基于数据库的权限系统,包括对按钮的权限控制。 使用技术: springMVC、springsecurity4、mybatis、ehcache、前端使用dataTables表格、ztree。2.表结构介绍标准的五张表结构。其中t_resources包含了后台系...
2017-04-18 22:04:03
21897
19
原创 ActiveMQ介绍及Spring整合实例
前言ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。主要解决进场通讯,应用耦合,流量削锋。实现高性能,高可用,可伸缩和最终一致性架构。异步消息是一个应用程序向另外一个应用程序间接发送消息的一种方式,这种方式无需等待对方的相应。比如用户注册之后发送短信,秒杀程序的流量削锋,聊天室
2017-03-10 10:36:37
3930
原创 Spring4 整合EhCache实现页面缓存 零配置
前言本文通过spring4 以java配置类方式 整合EhCache来实现页面整体缓存及页面局部缓存。同时提供源码。因为使用了零配置,所以要求tomcat7以上的版本。 原理是添加拦截器,在请求从用户浏览器到controller之间拦截直接返回数据,减轻服务器的压力,也加快了访问。页面缓存介绍缓存中的元素是被压缩过的,如果客户浏览器支持压缩的话,filter会直接返回压缩过的流,这样节省了带宽,把
2017-02-22 13:28:25
2061
原创 Spring 整合EhCache一注解方式
spring4通过 注解方式 整合EhCache。同时提供xml注解方式和java配置的方式整合的源码。 主要了解对数据缓存的增加、缓存的更新和缓存的删除。
2017-02-16 15:57:46
2971
原创 spring cache相关注解介绍 @Cacheable、@CachePut、@CacheEvict
spring cache相关注解CacheableCachePutCacheEvict annotationCacheConfig
2017-02-16 14:25:50
19956
原创 Spring 整合EhCache一 初体验
ehcache简介EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。(百度百科) 主要的特性有: 1. 快速 2. 简单 3. 多种缓存策略 4. 缓存数据有两级:内存和磁盘,因此无需担心容量问题 5. 缓存数据会在虚拟机重启的过程中写入磁盘 6. 可以通过RMI、可插入API等方式进行分布式缓存 7. 具
2017-02-09 15:29:11
782
原创 jQuery attr方法 第一次有效,第二次无效问题
例如设置全选:$(function(){ //设置全选反选 $("#all").click(function(){ if(this.checked){ $("input[name='id']").attr("checked",true); }else{ $("input[name='id'
2017-02-08 09:16:17
4442
原创 MySQL笔记五之 日期和时间函数
MySQL笔记五之 日期和时间函数MySQL笔记五之 日期和时间函数获取当前日期的函数和获取当前时间的函数获取当前日期和时间的函数获取UNXI时间戳函数返回UTC日期的函数和返回UTC时间的函数获取月份的函数MONTHdate和MONTHNAMEdate获取星期的函数DAYNAMEdateDAYOFWEEKdate和WEEKDAYdate获取星期数WEEKd和WEEKOFYEARd获
2017-02-08 09:00:20
1050
原创 MySQL笔记四之 字符串函数
MySQL笔记四之 字符串函数>1.计算字符串字符数的函数和字符串长度的函数>2.合并字符串函数CONCAT(s1,s2,...)、CONCAT_WS(x,s1,s2,...)> 3.替换字符串的函数INSERT(s1,x,len,s2)> 4.字母大小转换函数> 5.获取指定长度的字符串的函数LEFT(s,n)和RIGHT(s,n)> 6.填充字符串的函数LPA数的函数和字符串长度的函数
2017-01-25 20:37:29
975
原创 Mysql笔记三之 数学函数
Mysql笔记三之 数学函数数学函数主要处理数值数据。主要有绝对值函数,三角函数,对数函数,随机数函数。在有错误产生时,数学函数将会返回空值NULL。 1. 绝对值函数ABS(x) 和返回圆周率函数PI() 2.平方根函数SQRT(x)和求余函数MOD(x,y)3.获取整数的函数CEIL(x)、CEILING(x)和FLOOR(x)4.获取随机函数RAND()和RAND(x)5.四舍五入函数ROUND(x)、RO
2017-01-20 08:50:24
833
原创 Mysql笔记二之 运算符
Mysql笔记二之 运算符运算符分别有:算术运算符、比较运算符、逻辑运算符、位运算符。 接下来分别讲述这四个运算符。 1.算术运算符 用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(%). 注意: a.”+”和”-“的优先级相同 b.除数为0,结果为NULL2.比较运算符 运算符 作用 == 等于 <=> 安全的等于 <>(!=) 不
2017-01-19 08:48:16
640
原创 jsp将菜单include 进页面后,js动态改变当前菜单链接CSS
jsp将菜单include 进页面后,js动态改变当前菜单链接CSS经常会出现一种情况是将菜单include 进每个页面。但是还想控制当前的页面的菜单显示不同的CSS. 以下通过js来实现。 比如菜单是这样的:菜单:<div class="mj_ul"><ul> <li><a href="#">我的购物车 </a></li> <li ><a href="#">我的订单 </
2017-01-18 09:35:10
3019
原创 Mysql笔记之 数据类型
Mysql笔记之 数据类型整型类型,浮点数类型和定点数类型,日期和时间类型,字符串类型,二进制类型,数据类型的选择
2017-01-17 10:05:16
1310
1
SSM整合SpringSecurity实现权限管理实例 javaconfig配置方式 代码实例
2017-04-19
Spring整合ActiveMQ简单实例
2017-03-10
Spring整合Redis用作缓存-注解方式
2017-03-02
Spring4 整合EhCache实现 页面缓存 零配置
2017-02-22
spring整合EhCache 基于注解的方式
2017-02-16
spring整合EhCache 基于注解
2017-02-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人