<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[poorCoder_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/poorCoder_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; poorCoder_]]></copyright><item><title><![CDATA[pytorch serve开始-Getting started]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/134905474</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/134905474</guid><author>poorCoder_</author><pubDate>Sun, 10 Dec 2023 11:01:41 +0800</pubDate><description><![CDATA[注意:如果你在运行TorchServe时指定了模型，它会自动将后端worker的数量扩展到等于可用vcpu的数量(如果你在CPU实例上运行)或可用GPU的数量(如果你在GPU实例上运行)。如果你想最小化TorchServe的启动时间，你应该避免在启动时间注册和扩展模型，并通过使用相应的管理API(例如，如果您将存储库克隆到/home/my_path/serve，则从/home/my_path运行步骤。如果你想调试处理程序代码，可以只使用后端运行TorchServe，因此可以使用任何python调试器。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程-PROFILING YOUR PYTORCH MODULE]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/132395899</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/132395899</guid><author>poorCoder_</author><pubDate>Sun, 20 Aug 2023 20:55:24 +0800</pubDate><description><![CDATA[分析器与主线程在同一个线程中运行，但它也会分析可能在另一个线程中运行的子线程。同时运行的分析器将被限制在它们自己的线程中，以防止混合结果。请注意，就内存和时间而言，最昂贵的操作是掩码索引中的forward(10)操作。将每个子任务的代码包装在单独的带标签的上下文管理器中。在分析器的输出中，子任务中所有操作的综合性能指标将显示在相应的标签下。PyTorch 1.8引入了新的API，将在未来的版本中取代旧的分析器API。，它根据操作及其回溯(截断为最近的5个事件)汇总运行时间，并按注册的顺序显示事件。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程-TEXT CLASSIFICATION WITH THE TORCHTEXT LIBRARY]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/132381099</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/132381099</guid><author>poorCoder_</author><pubDate>Sat, 19 Aug 2023 16:12:12 +0800</pubDate><description><![CDATA[该模型由层和用于分类的线性层组成。使用模式模式”mean“ 的nn.EmbeddingBag 计算”bag“Embedding的平均值。尽管这里的文本条目具有不同的长度，但模块在这里不需要填充，因为文本长度保存在偏移量中。此外，由于在运行中累计了所有Embedding的平均值，因此可以提高处理一系列张量的性能和内存效率。print(]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程-NLP FROM SCRATCH: TRANSLATION WITH A SEQUENCE TO SEQUENCE NETWORK AND ATTENTION]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/132250530</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/132250530</guid><author>poorCoder_</author><pubDate>Sat, 12 Aug 2023 16:37:32 +0800</pubDate><description><![CDATA[从输入的单词序列中直接生成正确的译文是很困难的。与字符级RNN教程中使用的字符编码类似，我们将把语言中的每个单词表示为一个独热向量，或者巨大的零向量只有一个1(在单词的索引处)。你可以观察到teacher-forced 网络的输出，它们阅读时语法连贯，但偏离了正确的翻译——从直觉上讲，它已经学会了表示输出的语法，并且可以在教师告诉它前几个单词时“拾取”意思，但它还没有正确地学会如何从翻译中创建句子。为了训练，对于每个对，我们将需要一个输入张量(输入句子中单词的索引)和目标张量(目标句子中单词的索引)。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程-NLP FROM SCRATCH: GENERATING NAMES WITH A CHARACTER-LEVEL RNN]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/132248038</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/132248038</guid><author>poorCoder_</author><pubDate>Sat, 12 Aug 2023 13:53:47 +0800</pubDate><description><![CDATA[最大的区别在于，我们不是在读取一个名字的所有字母后预测一个类别，而是输入一个类别并每次输出一个字母。为了进行示例，我们给网络一个字母并询问下一个字母是什么，将其作为下一个字母输入，并重复直到EOS令牌。当训练时，我们在每个时间步向网络提供它，这是一个设计选择，它可以作为初始隐藏状态的一部分或其他策略。与其给它一个起始字母，另一种策略是在训练中包含一个“字符串起始”标记，并让网络选择自己的起始字母。我们将创建(“A”，“B”)，(“B”，“C”)，(“C”，“D”)，(“D”，“EOS”)。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程-NLP FROM SCRATCH: CLASSIFYING NAMES WITH A CHARACTER-LEVEL RNN]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/132248029</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/132248029</guid><author>poorCoder_</author><pubDate>Sat, 12 Aug 2023 13:53:17 +0800</pubDate><description><![CDATA[为了运行这个网络的一个步骤，我们需要传递一个输入(在我们的例子中，是当前字母的张量)和一个先前的隐藏状态(我们一开始将其初始化为零)。我们将返回输出(每种语言的概率)和下一个隐藏状态(我们将其保留到下一步)。字符级RNN将单词作为一系列字符来读取 ，每一步输出一个预测和“隐藏状态”，将之前的隐藏状态输入到下一步。为了了解网络在不同类别上的表现如何，我们将创建一个混淆矩阵，表示网络猜测(列)的每种语言(行)。额外的1维度是因为PyTorch假设所有的东西都是分批的——我们在这里只是使用1的批大小。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程-FAST TRANSFORMER INFERENCE WITH BETTER TRANSFORMER]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/132248012</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/132248012</guid><author>poorCoder_</author><pubDate>Sat, 12 Aug 2023 13:52:34 +0800</pubDate><description><![CDATA[在本教程中，我们介绍了使用 Better Transformer fastpath快速的transformer 推理，在torchtext 中使用PyTorch核心的 Better Transformer包支持Transformer Encoder 模型。在确认BT fastpath可用性的前提下，我们已经演示了 Better Transformer 的使用。我们已经演示并测试了BT fastpath执行模式·、本机MHA执行和BT稀疏性加速的使用。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程-LANGUAGE MODELING WITH NN.TRANSFORMER AND TORCHTEXT]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/132247994</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/132247994</guid><author>poorCoder_</author><pubDate>Sat, 12 Aug 2023 13:51:04 +0800</pubDate><description><![CDATA[在本教程中，我们在语言建模任务上训练一个nn.TransformerEncoder模型。请注意，本教程不包括的训练，如上图右半部分所示。语言建模任务是为给定单词(或单词序列)跟随单词序列的可能性分配一个概率。首先将一系列标记传递给源文本嵌入层，然后是一个位置编码器来解释单词的顺序(请参阅下一段了解更多细节)。由的多个层组成。除了输入序列外，还需要一个方形注意掩码，因为在中的自注意层只允许参与序列中较早的位置。对于语言建模任务，应掩盖未来位置上的任何标记。为了生成输出词的概率分布，]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程-DEPLOYING PYTORCH IN PYTHON VIA A REST API WITH FLASK]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/131737347</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/131737347</guid><author>poorCoder_</author><pubDate>Sat, 15 Jul 2023 11:44:46 +0800</pubDate><description><![CDATA[我们将首先定义API 路径、请求和响应类型。我们的API路径是/predict它接受带有包含图像的文件参数的HTTP POST请求。响应将是JSON响应，其中包含预测结果。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程8-SAVE AND LOAD THE MODEL]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/131737315</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/131737315</guid><author>poorCoder_</author><pubDate>Sat, 15 Jul 2023 11:42:25 +0800</pubDate><description><![CDATA[当加载模型权重时，我们需要首先实例化模型类，因为类定义了网络的结构。我们可能希望将该类的结构与模型一起保存，在这种情况下，我们可以使用。如果不这样做，将产生不一致的推理结果。PyTorch模型将学习到的参数存储在一个名为state_dict的内部状态字典中。在本节中，我们将了解如何通过保存、加载和运行模型预测来持久化模型状态。要加载模型权重，需要首先创建同一模型的实例，然后使用。模块，因此它依赖于 加载模型时可用的实际类定义。这种方法在序列化模型时使用Python。一定要在推理之前调用。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程7-OPTIMIZING MODEL PARAMETERS]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/131737287</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/131737287</guid><author>poorCoder_</author><pubDate>Sat, 15 Jul 2023 11:41:12 +0800</pubDate><description><![CDATA[现在我们有了一个模型和数据，是时候通过优化我们的数据参数来训练、验证和测试我们的模型了。在每次迭代中，模型对输出进行预测，计算猜测中的误差(损失)，收集误差相对于其参数的导数(如我们在前一节中看到的)，并使用梯度下降优化这些参数。损失函数衡量的是得到的结果与目标值的错误程度，这是我们在训练中要最小化的损失函数。优化指的是在每个训练步骤中调整模型参数以减少模型误差的过程。一旦我们设置了超参数，我们就可以用优化循环来训练和优化我们的模型。我们通过注册需要训练的模型参数，并传入学习率超参数来初始化优化器。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程6-AUTOMATIC DIFFERENTIATION WITH TORCH.AUTOGRAD]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/131737079</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/131737079</guid><author>poorCoder_</author><pubDate>Sat, 15 Jul 2023 11:35:20 +0800</pubDate><description><![CDATA[我们使用张量来构造计算图的函数实际上是Function类的对象，该对象知道如何在正向方向上计算函数，以及如何在反向传播步骤中计算其导数。这基本上相当于调用backward(torch.tensor(1.0))，这是在标量值函数的情况下计算梯度的有用方法，例如神经网络训练期间的损失。然而，在一些情况下我们不需要这样做，例如，当我们完成了模型的训练，只想将其应用于一些测试数据时，即我们只想通过网络进行前向计算。传播时，PyTorch会累积梯度的，即计算梯度的值被添加到计算图的所有叶节点的grad属性中。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程5-BUILD THE NEURAL NETWORK]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/131605479</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/131605479</guid><author>poorCoder_</author><pubDate>Fri, 07 Jul 2023 22:31:07 +0800</pubDate><description><![CDATA[我们通过继承nn.Module类来定义神经网络，并在__init__方法中初始化神经网络层。每一个继承nn.Module 的子类要在forward方法中实现对输入数据的操作。nn.ReLU(),nn.ReLU(),我们创建一个NeuralNetwork的实例，并将其移动到设备上，并打印其结构。输出为了使用该模型，我们将输入数据传递给它。这将执行模型的forward 方法，以及一些。不要直接调用model.forward()!]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程4-TRANSFORMS]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/131605418</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/131605418</guid><author>poorCoder_</author><pubDate>Fri, 07 Jul 2023 22:26:58 +0800</pubDate><description><![CDATA[它首先创建一个大小为10的零张量(我们数据集中的标签数量)，并调用scatter_，它对标签y给出的索引赋值=1。为了训练，我们需要将特征转换为归一化处理的张量，将标签转换为one-hot编码的张量。为了完成这些转换，我们使用ToTensor和Lambda。所有的TorchVision数据集都有两个参数，transform用于修改特征，target_transform用于修改标签。数据并不总是以训练机器学习算法所需的最终处理形式出现,我们使用transforms对数据进行一些操作，使其适合于训练。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程3-DATASETS & DATALOADERS]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/131367192</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/131367192</guid><author>poorCoder_</author><pubDate>Sat, 24 Jun 2023 22:03:07 +0800</pubDate><description><![CDATA[自定义Dataset类必须实现三个函数:__init__， __len__和__getitem__。FashionMNIST图像存储在img_dir目录中，它们的标签单独存储在CSV文件annotations_file中。在接下来的部分中，我们将分解这些函数中发生的事情。import os。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程2-TENSORS]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/131367106</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/131367106</guid><author>poorCoder_</author><pubDate>Sat, 24 Jun 2023 22:01:23 +0800</pubDate><description><![CDATA[张量类似于NumPy中的ndarray，除了张量可以在gpu或其他硬件加速器上运行。默认情况下，张量是在CPU上创建的。在PyTorch中，我们使用张量来编码模型的输入和输出，以及模型的参数。超过100多种张量运算操作，包括算术，线性代数，矩阵操作(转置，索引，切片)，采样和更多的全面描述在这里（CPU和NumPy数组上的张量可以共享它们的底层内存位置，更改其中一个将更改另一个。形状是张量维度的元组，在下面的函数中，它决定了输出张量的维度。新张量保留原张量参数的属性(形状，数据类型)，除非显式覆盖。]]></description><category></category></item><item><title><![CDATA[PyTorch翻译官网教程1-QUICKSTART]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/131367040</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/131367040</guid><author>poorCoder_</author><pubDate>Sat, 24 Jun 2023 21:56:21 +0800</pubDate><description><![CDATA[我们将Dataset作为DataLoader的入参，Dataset在数据集上包装了一个可迭代对象，并支持自动批处理、采样、洗牌和多进程数据加载。为了在PyTorch中定义一个神经网络，我们创建了一个继承了nn.Module的类，我们在__init__函数中定义网络层，并在forward函数中指定数据如何通过网络。我们希望看到精度随着时间的推移而提高，损失随着时间的推移而减少。在单个训练循环中，模型对训练数据集进行预测(批量提供给它)，并反向传播预测误差以调整模型的参数。请参阅每个部分中的链接以深入了解。]]></description><category></category></item><item><title><![CDATA[快速掌握TCP的三次握手和四次挥手]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/112431844</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/112431844</guid><author>poorCoder_</author><pubDate>Sun, 10 Jan 2021 16:29:10 +0800</pubDate><description><![CDATA[前言

TCP的三次握手和四次挥手经常会出现在面试题中，而且也是看懂抓包数据的基本知识。本文快速讲解三次握手和四次挥手的流程以及为什么会有三次握手和四次挥手。

知识前提

TCP/IP中存在两个具有代表性的传输层协议，分别是TCP和UDP。

TCP

TCP 是面向连接的、可靠的流协议，具备顺序控制、重发控制等机制。建立连接必须进过三次握手，断开连接需要4次挥手。所以TCP常用在传输层有必须可靠传输的情况，比如文件传输，文字发送。



UDP

UDP是不具有可靠性的数据报协议，UDP不需要建立连接.]]></description><category></category></item><item><title><![CDATA[ClassLoader详解]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/80258725</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/80258725</guid><author>poorCoder_</author><pubDate>Wed, 09 May 2018 20:07:04 +0800</pubDate><description><![CDATA[ClassLoader详解什么是ClassLoaderClassLoader 叫做类加载器。虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流” 这个动作放到java虚拟机外部去实现，以便让应用程序自己决定去如何获取所需要的类，实现这个动作的代模块称之为“类加载器”。  类与类加载器类从被加载到虚拟机内存中开始，到卸载出内存为止，它的整个生命周期包括：加载、连接（验证、]]></description><category></category></item><item><title><![CDATA[Prometheus 通过consul动态修改Targets接入]]></title><link>https://blog.youkuaiyun.com/poorCoder_/article/details/79120218</link><guid>https://blog.youkuaiyun.com/poorCoder_/article/details/79120218</guid><author>poorCoder_</author><pubDate>Sun, 21 Jan 2018 14:37:01 +0800</pubDate><description><![CDATA[Prometheus 通过consul动态修改Targets接入

通常Prometheus 要增加一个target,需要在配置文件中已添加一个job,例如下：



- job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

每次修改需要直接修改服务器上的配置文件，非常麻烦。Prometheu...]]></description><category></category></item></channel></rss>