<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chenjiale5的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chenjiale5</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chenjiale5]]></copyright><item><title><![CDATA[subplot多合一画图]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98854002</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98854002</guid><author>chenjiale5</author><pubDate>Thu, 08 Aug 2019 11:40:16 +0800</pubDate><description><![CDATA[import matplotlib.pyplot as plt

plt.figure()

plt.subplot(2, 2, 1)
plt.plot([0, 1], [0, 1])

plt.subplot(2, 2, 2)
plt.plot([4, 1], [0, 1])

plt.subplot(2, 2, 3)
plt.plot([0, 2], [0, 1])

plt.subplot(...]]></description><category></category></item><item><title><![CDATA[matplotlib图片显示]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98847666</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98847666</guid><author>chenjiale5</author><pubDate>Thu, 08 Aug 2019 10:56:36 +0800</pubDate><description><![CDATA[import matplotlib.pyplot as plt
import numpy as np

用array假装有一张9个像素点的图片
a = np.array([0.333333333, 0.366666666, 0.422222222,
              0.366666666, 0.433333333, 0.522222222,
              0.422222...]]></description><category></category></item><item><title><![CDATA[matplotlib画散点图，柱状图，等高线图]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98784143</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98784143</guid><author>chenjiale5</author><pubDate>Wed, 07 Aug 2019 21:49:40 +0800</pubDate><description><![CDATA[散点图
T是计算颜色，不用太在意
alpha是透明度
plt.xticks(())
plt.yticks(())是隐藏坐标轴
import matplotlib.pyplot as plt
import numpy as np

n = 1024
X = np.random.normal(0, 1, n)
Y = np.random.normal(0, 1, n)

T = np.arctan2(...]]></description><category></category></item><item><title><![CDATA[matplotlib基本操作]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98762656</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98762656</guid><author>chenjiale5</author><pubDate>Wed, 07 Aug 2019 20:47:23 +0800</pubDate><description><![CDATA[import matplotlib.pyplot as plt
import numpy as np

写出两条线的方程，x是-3到3之间50个数的等差数列
x = np.linspace(-3, 3, 50)
y1 = 2 * x + 1
y2 = x ** 2

定义一个figure下的所有操作都属于这个figure
plt.figure()
plt.plot(x, y1)

定义第二个fig...]]></description><category></category></item><item><title><![CDATA[读取并预处理自己数据集的一种方式]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98724912</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98724912</guid><author>chenjiale5</author><pubDate>Wed, 07 Aug 2019 09:32:25 +0800</pubDate><description><![CDATA[引入必要的包
from torchvision.datasets import ImageFolder
import matplotlib.pyplot as plt
from torchvision import transforms as tfs
from torch.utils.data import DataLoader
import numpy as np
import torch

加...]]></description><category></category></item><item><title><![CDATA[简单GoogLeNet实现]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98595360</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98595360</guid><author>chenjiale5</author><pubDate>Tue, 06 Aug 2019 10:45:32 +0800</pubDate><description><![CDATA[import numpy as np
import torch
from torch import nn
from torch.autograd import Variable

def conv_relu(in_channel, out_channel, kernel, stride=1, padding=0):
    layer = nn.Sequential(
        nn.Con...]]></description><category></category></item><item><title><![CDATA[构建一个简单的VGG网络]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98522353</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98522353</guid><author>chenjiale5</author><pubDate>Mon, 05 Aug 2019 21:31:04 +0800</pubDate><description><![CDATA[import torch
from torch.autograd import Variable
from torch import nn

def vgg_block(num_convs, input_channels, output_channels):
    net = [
        nn.Conv2d(input_channels, output_channels, kernel_...]]></description><category></category></item><item><title><![CDATA[查看下载数据集中的图片]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98516920</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98516920</guid><author>chenjiale5</author><pubDate>Mon, 05 Aug 2019 20:42:08 +0800</pubDate><description><![CDATA[import matplotlib.pyplot as plt

下载数据集，并将数据集变成DataLoader类型
train_set = CIFAR10('./data', train=True, transform=data_tf,download=True)
train_data = torch.utils.data.DataLoader(train_set, batch_size=64,...]]></description><category></category></item><item><title><![CDATA[train函数]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98499042</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98499042</guid><author>chenjiale5</author><pubDate>Mon, 05 Aug 2019 16:58:33 +0800</pubDate><description><![CDATA[每次训练都测试
def get_acc(output,label):
    total = output.shape[0]
    _,pred_label = output.max(1)
    return (pred_label == label).sum().data.item()/total

def train(net,train_data,valid_data,num_epochs...]]></description><category></category></item><item><title><![CDATA[优化算法5:--Adadelta算法]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98105937</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98105937</guid><author>chenjiale5</author><pubDate>Thu, 01 Aug 2019 21:18:59 +0800</pubDate><description><![CDATA[Adadelta算法是Adagrad算法的延伸，与RMSProp算法一样，是为了解决Adagrad中学习率不断减小的问题，RMSProp是通过移动加权平均的方式，Adadelta也一样，并且Adadelta不需要学习率这个参数
RMSProp算法
Adadelta的分母和RMSProp的分母一致
需要更新参数的变化量为

分子表示的是每次更新梯度变化量的累加量

最后的参数更新如下

实现
opt...]]></description><category></category></item><item><title><![CDATA[优化算法3,4--Adagrad算法与RMSProp算法]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98097764</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98097764</guid><author>chenjiale5</author><pubDate>Thu, 01 Aug 2019 20:09:51 +0800</pubDate><description><![CDATA[思想：如果一个参数的梯度一直都非常大，就让它的学习率变小一点，防止震动，反之，则让其学习率变大，使其能更快更新
做法：学习率由下列式子所得

+后的参数是为了防止分母等于0，一般取10的-10次方
对每个参数，初始化一个变量s=0，每次参数更新时，将梯度平方求和累加到s上
所以梯度越大，累加得s越大，学习率越小
缺点：到后期，分母越来越大，学习率会变得较小，无法较好的收敛
from torch.u...]]></description><category></category></item><item><title><![CDATA[优化算法2--动量法]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98095711</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98095711</guid><author>chenjiale5</author><pubDate>Thu, 01 Aug 2019 19:44:55 +0800</pubDate><description><![CDATA[起始点a到b点的梯度下降记为n1
b点到c点的实际梯度由两方面组成
v (t) =γv(t-1) +α∇b
+前面是n1的γ倍，通常取0.9（为什么&lt;1？因为要减小早期的梯度影响）
+后面α是学习率，∇b是b点理论上的梯度下降
有很多点之后，v(t-1)指的是之前所有步骤累加的动量和
from torch.utils.data import DataLoader
from torch imp...]]></description><category></category></item><item><title><![CDATA[优化算法1：随机梯度下降法]]></title><link>https://blog.youkuaiyun.com/chenjiale5/article/details/98074369</link><guid>https://blog.youkuaiyun.com/chenjiale5/article/details/98074369</guid><author>chenjiale5</author><pubDate>Thu, 01 Aug 2019 16:48:54 +0800</pubDate><description><![CDATA[梯度下降公式很简单

import numpy as np
import torch
from torchvision.datasets import MNIST
from torch.utils.data import DataLoader
from torch import nn
from torch.autograd import Variable
import time
import ma...]]></description><category></category></item></channel></rss>