Skip to content

Commit f57d59a

Browse files
committed
Site updated: 2025-05-08 21:41:32
1 parent 9cb524e commit f57d59a

3 files changed

Lines changed: 19 additions & 19 deletions

File tree

2025/04/02/Pytorch快速上手/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<meta property="og:description" content="本笔记从小土堆Pytorch教程中记录一些实用的Pytorch相关操作. 1. 加载数据1.1 PILPIL类可以用于加载图像、保存图像等操作 12from PIL import Imageimg &#x3D; Image.open(&#x27;data&#x2F;hymenoptera_data&#x2F;train&#x2F;ants&#x2F;342438950_a3da61deab.jpg&#x27;) 1.2 DataSetDataSe">
2828
<meta property="og:locale" content="zh_CN">
2929
<meta property="article:published_time" content="2025-04-02T12:32:28.000Z">
30-
<meta property="article:modified_time" content="2025-04-16T14:16:03.359Z">
30+
<meta property="article:modified_time" content="2025-05-08T13:41:08.956Z">
3131
<meta property="article:tag" content="交通">
3232
<meta name="twitter:card" content="summary_large_image">
3333

@@ -331,7 +331,7 @@ <h2 id="5-3-Sequential的使用"><a href="#5-3-Sequential的使用" class="heade
331331
</ul>
332332
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><code class="hljs python"><span class="hljs-keyword">import</span> torch.nn <span class="hljs-keyword">as</span> nn<br><span class="hljs-keyword">from</span> collections <span class="hljs-keyword">import</span> OrderedDict<br>model = nn.Sequential(OrderedDict([<br> (<span class="hljs-string">&#x27;conv1&#x27;</span>, nn.Conv2d(<span class="hljs-number">1</span>,<span class="hljs-number">20</span>,<span class="hljs-number">5</span>)),<br> (<span class="hljs-string">&#x27;relu1&#x27;</span>, nn.ReLU()),<br> (<span class="hljs-string">&#x27;conv2&#x27;</span>, nn.Conv2d(<span class="hljs-number">20</span>,<span class="hljs-number">64</span>,<span class="hljs-number">5</span>)),<br> (<span class="hljs-string">&#x27;relu2&#x27;</span>, nn.ReLU())<br> ]))<br> <br><span class="hljs-built_in">print</span>(model)<br><span class="hljs-string">&#x27;&#x27;&#x27;运行结果为:</span><br><span class="hljs-string">Sequential(</span><br><span class="hljs-string"> (conv1): Conv2d(1, 20, kernel_size=(5, 5), stride=(1, 1))</span><br><span class="hljs-string"> (relu1): ReLU()</span><br><span class="hljs-string"> (conv2): Conv2d(20, 64, kernel_size=(5, 5), stride=(1, 1))</span><br><span class="hljs-string"> (relu2): ReLU()</span><br><span class="hljs-string">)</span><br><span class="hljs-string">&#x27;&#x27;&#x27;</span><br></code></pre></td></tr></table></figure>
333333
<p>我们可以将前面所学的层组合起来,形成深层神经网络的架构,例如我们可以编写一个自己的网络如下:</p>
334-
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><code class="hljs python"><span class="hljs-keyword">class</span> <span class="hljs-title class_">MyNeuralNetwork</span>(nn.Module):<br> <span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self, *args, **kwargs</span>) -&gt; <span class="hljs-literal">None</span>:<br> <span class="hljs-built_in">super</span>().__init__(*args, **kwargs)<br> <span class="hljs-variable language_">self</span>.model = nn.Sequential(<br> nn.Conv2d(<span class="hljs-number">3</span>,<span class="hljs-number">64</span>,<span class="hljs-number">3</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>), <span class="hljs-comment"># 【1,64,64,64】 备注:ks=3,stride=1,padding = 1</span><br> <span class="hljs-comment"># Hout(64) = (Hin(64) + 2×padding - dilation×[ks - 1] × 1 )/stride + 1</span><br> nn.ReLU(),<br> nn.Conv2d(<span class="hljs-number">64</span>,<span class="hljs-number">32</span>,<span class="hljs-number">3</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>), <span class="hljs-comment"># 1,32,64,64</span><br> nn.ReLU(),<br> nn.Conv2d(<span class="hljs-number">32</span>, <span class="hljs-number">16</span>, <span class="hljs-number">3</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>), <span class="hljs-comment"># 1,16,64,64</span><br> nn.ReLU(),<br> nn.MaxPool2d(<span class="hljs-number">2</span>), <span class="hljs-comment"># 1,16,32,32</span><br> nn.ReLU(),<br> nn.Linear(<span class="hljs-number">32</span>,<span class="hljs-number">1024</span>), <span class="hljs-comment"># 1,16,32,1024</span><br> nn.ReLU(),<br> nn.Linear(<span class="hljs-number">1024</span>, <span class="hljs-number">1024</span>), <span class="hljs-comment"># 1,16,1024,1024</span><br> nn.ReLU(),<br> nn.Flatten(), <span class="hljs-comment"># 1,524288</span><br> nn.Linear(<span class="hljs-number">524288</span>,<span class="hljs-number">10</span>), <span class="hljs-comment"># 1,10</span><br> nn.Softmax(dim= -<span class="hljs-number">1</span>)<br> )<br><br>mnn = MyNeuralNetwork()<br><br>a = torch.randn(<span class="hljs-number">1</span>,<span class="hljs-number">3</span>,<span class="hljs-number">64</span>,<span class="hljs-number">64</span>)<br><br>res = mnn.model(a)<br><br><span class="hljs-built_in">print</span>(res.shape) <span class="hljs-comment"># torch.Size([1, 10])</span><br><span class="hljs-built_in">print</span>(res) <span class="hljs-comment">#tensor([[0.0991, 0.0982, 0.0997, 0.0996, 0.1009, 0.1030, 0.0988, 0.1027, 0.0991,0.0988]], grad_fn=&lt;SoftmaxBackward0&gt;)</span><br></code></pre></td></tr></table></figure>
334+
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><code class="hljs python"><span class="hljs-keyword">class</span> <span class="hljs-title class_">MyNeuralNetwork</span>(nn.Module):<br> <span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self, *args, **kwargs</span>) -&gt; <span class="hljs-literal">None</span>:<br> <span class="hljs-built_in">super</span>().__init__(*args, **kwargs)<br> <span class="hljs-variable language_">self</span>.model = nn.Sequential(<br> nn.Conv2d(<span class="hljs-number">3</span>,<span class="hljs-number">64</span>,<span class="hljs-number">3</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>), <span class="hljs-comment"># 【1,64,64,64】 备注:ks=3,stride=1,padding = 1</span><br> <span class="hljs-comment"># Hout(64) = (Hin(64) + 2×padding - dilation×[ks - 1] × 1 )/stride + 1</span><br> nn.ReLU(),<br> nn.Conv2d(<span class="hljs-number">64</span>,<span class="hljs-number">32</span>,<span class="hljs-number">3</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>), <span class="hljs-comment"># 1,32,64,64</span><br> nn.ReLU(),<br> nn.Conv2d(<span class="hljs-number">32</span>, <span class="hljs-number">16</span>, <span class="hljs-number">3</span>,<span class="hljs-number">1</span>,<span class="hljs-number">1</span>), <span class="hljs-comment"># 1,16,64,64</span><br> nn.ReLU(),<br> nn.MaxPool2d(<span class="hljs-number">2</span>), <span class="hljs-comment"># 1,16,32,32</span><br> nn.ReLU(),<br> nn.Linear(<span class="hljs-number">32</span>,<span class="hljs-number">1024</span>), <span class="hljs-comment"># 1,16,32,1024</span><br> nn.ReLU(),<br> nn.Linear(<span class="hljs-number">1024</span>, <span class="hljs-number">1024</span>), <span class="hljs-comment"># 1,16,32,1024</span><br> nn.ReLU(),<br> nn.Flatten(), <span class="hljs-comment"># 1,524288</span><br> nn.Linear(<span class="hljs-number">524288</span>,<span class="hljs-number">10</span>), <span class="hljs-comment"># 1,10</span><br> nn.Softmax(dim= -<span class="hljs-number">1</span>)<br> )<br><br>mnn = MyNeuralNetwork()<br><br>a = torch.randn(<span class="hljs-number">1</span>,<span class="hljs-number">3</span>,<span class="hljs-number">64</span>,<span class="hljs-number">64</span>)<br><br>res = mnn.model(a)<br><br><span class="hljs-built_in">print</span>(res.shape) <span class="hljs-comment"># torch.Size([1, 10])</span><br><span class="hljs-built_in">print</span>(res) <span class="hljs-comment">#tensor([[0.0991, 0.0982, 0.0997, 0.0996, 0.1009, 0.1030, 0.0988, 0.1027, 0.0991,0.0988]], grad_fn=&lt;SoftmaxBackward0&gt;)</span><br></code></pre></td></tr></table></figure>
335335

336336
<p>通过使用Sequential()的方式可以便捷的完成网络的定义,快速实现网络。</p>
337337
<h2 id="5-4-小网络搭建实战"><a href="#5-4-小网络搭建实战" class="headerlink" title="5.4 小网络搭建实战"></a>5.4 小网络搭建实战</h2><p>以vgg16这个网络(图待补充)为例,搭建模型如下(暂未添加Relu层),其实和我们之前写的模型很像</p>

categories/index.html

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -341,22 +341,22 @@
341341

342342
<div class="category row nomargin-x">
343343
<a class="category-item collapsed
344-
list-group-item category-item-action col-10 col-md-11 col-xm-11" title="常用知识"
345-
id="heading-bd784cf0c2650eda5577f4512adc7422" role="tab" data-toggle="collapse" href="#collapse-bd784cf0c2650eda5577f4512adc7422"
344+
list-group-item category-item-action col-10 col-md-11 col-xm-11" title="杂谈"
345+
id="heading-195eb419639d73192945705b06502324" role="tab" data-toggle="collapse" href="#collapse-195eb419639d73192945705b06502324"
346346
aria-expanded="false"
347347
>
348-
常用知识
348+
杂谈
349349
<span class="list-group-count"></span>
350350
<i class="iconfont icon-arrowright"></i>
351351
</a>
352352

353-
<a href="/categories/%E5%B8%B8%E7%94%A8%E7%9F%A5%E8%AF%86/" class="category-count col-2 col-md-1 col-xm-1">
353+
<a href="/categories/%E6%9D%82%E8%B0%88/" class="category-count col-2 col-md-1 col-xm-1">
354354
<i class="iconfont icon-articles"></i>
355355
<span>1</span>
356356
</a>
357357

358-
<div class="category-collapse collapse " id="collapse-bd784cf0c2650eda5577f4512adc7422"
359-
role="tabpanel" aria-labelledby="heading-bd784cf0c2650eda5577f4512adc7422">
358+
<div class="category-collapse collapse " id="collapse-195eb419639d73192945705b06502324"
359+
role="tabpanel" aria-labelledby="heading-195eb419639d73192945705b06502324">
360360

361361

362362

@@ -365,10 +365,10 @@
365365

366366

367367

368-
<a href="/2025/03/04/hexo%E6%96%B0%E5%BB%BA%E6%93%8D%E4%BD%9C%E5%B9%B6%E4%B8%8A%E4%BC%A0%E6%B5%81%E7%A8%8B/" title="Hexo新建博客并上传Github全流程"
368+
<a href="/2025/03/31/hello-world/" title="Run&#39;s Studio 重新出发"
369369
class="list-group-item list-group-item-action
370370
">
371-
<span class="category-post">Hexo新建博客并上传Github全流程</span>
371+
<span class="category-post">Run&#39;s Studio 重新出发</span>
372372
</a>
373373

374374

@@ -383,22 +383,22 @@
383383

384384
<div class="category row nomargin-x">
385385
<a class="category-item collapsed
386-
list-group-item category-item-action col-10 col-md-11 col-xm-11" title="杂谈"
387-
id="heading-195eb419639d73192945705b06502324" role="tab" data-toggle="collapse" href="#collapse-195eb419639d73192945705b06502324"
386+
list-group-item category-item-action col-10 col-md-11 col-xm-11" title="常用知识"
387+
id="heading-bd784cf0c2650eda5577f4512adc7422" role="tab" data-toggle="collapse" href="#collapse-bd784cf0c2650eda5577f4512adc7422"
388388
aria-expanded="false"
389389
>
390-
杂谈
390+
常用知识
391391
<span class="list-group-count"></span>
392392
<i class="iconfont icon-arrowright"></i>
393393
</a>
394394

395-
<a href="/categories/%E6%9D%82%E8%B0%88/" class="category-count col-2 col-md-1 col-xm-1">
395+
<a href="/categories/%E5%B8%B8%E7%94%A8%E7%9F%A5%E8%AF%86/" class="category-count col-2 col-md-1 col-xm-1">
396396
<i class="iconfont icon-articles"></i>
397397
<span>1</span>
398398
</a>
399399

400-
<div class="category-collapse collapse " id="collapse-195eb419639d73192945705b06502324"
401-
role="tabpanel" aria-labelledby="heading-195eb419639d73192945705b06502324">
400+
<div class="category-collapse collapse " id="collapse-bd784cf0c2650eda5577f4512adc7422"
401+
role="tabpanel" aria-labelledby="heading-bd784cf0c2650eda5577f4512adc7422">
402402

403403

404404

@@ -407,10 +407,10 @@
407407

408408

409409

410-
<a href="/2025/03/31/hello-world/" title="Run&#39;s Studio 重新出发"
410+
<a href="/2025/03/04/hexo%E6%96%B0%E5%BB%BA%E6%93%8D%E4%BD%9C%E5%B9%B6%E4%B8%8A%E4%BC%A0%E6%B5%81%E7%A8%8B/" title="Hexo新建博客并上传Github全流程"
411411
class="list-group-item list-group-item-action
412412
">
413-
<span class="category-post">Run&#39;s Studio 重新出发</span>
413+
<span class="category-post">Hexo新建博客并上传Github全流程</span>
414414
</a>
415415

416416

local-search.xml

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)