<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[YaYan233的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/YaYan233</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; YaYan233]]></copyright><item><title><![CDATA[pytorch学习笔记（9）：可视化 一定坚持学完啊！！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105471575</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105471575</guid><author>YaYan233</author><pubDate>Sun, 12 Apr 2020 16:36:20 +0800</pubDate><description><![CDATA[import numpy as np
from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter(comment='test_tensorboard')

for x in range(100):
    writer.add_scalar('y=2x', x * 2, x)
    writer.add_sc...]]></description><category></category></item><item><title><![CDATA[pytorch学习笔记（8）：损失函数  学习率调整 一定坚持学完啊！！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105436665</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105436665</guid><author>YaYan233</author><pubDate>Fri, 10 Apr 2020 16:36:37 +0800</pubDate><description><![CDATA[损失函数：衡量模型输出与其真是标签的差异
损失函数：计算一个样本的差异
代价函数：计算整个样本的差异求平均
目标函数：代价函数+ 正则项
步骤：先设计一个损失函数
如：先定义loss：loss_function=nn.CrossEntropyLoss()
然后在训练的时候调用loss_function:loss_function(outputs,labels)
1.nn.CrossEntropyL...]]></description><category></category></item><item><title><![CDATA[pytorch学习笔记（7）：卷积 池化 权值初始化等 一定坚持学完啊！！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105396102</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105396102</guid><author>YaYan233</author><pubDate>Wed, 08 Apr 2020 20:22:54 +0800</pubDate><description><![CDATA[1.卷积
卷积维度：一般情况下，卷积核在几个维度上滑动，就是几位卷积
nn.conv2d()对多个二维信号进行二维卷积

nn.conv2d(
in_channels:输入通道数
out_channels:输出通道数 等价于卷积核的个数
kernel_size:卷积核尺寸
stride:步长
padding：填充个数
dilation,空洞卷积大小
groups,分组卷积设置
bias，偏置
pa...]]></description><category></category></item><item><title><![CDATA[pytorch学习笔记（6）：模型创建与nn.Module 一定坚持学完啊！！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105341522</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105341522</guid><author>YaYan233</author><pubDate>Wed, 08 Apr 2020 09:33:56 +0800</pubDate><description><![CDATA[模型创建：构建子模块，拼接子模块
LenNet:
class LeNet(nn.model):
    def __init__(self,classes):
        super(LeNet,self).__init__()
        self.conv1=nn.Conv2d(3,6,5)
        self.conv2=nn.Conv2d(6,16,5)
        se...]]></description><category></category></item><item><title><![CDATA[pytorch学习笔记（5）transforms 一定坚持学完啊！！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105340789</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105340789</guid><author>YaYan233</author><pubDate>Wed, 08 Apr 2020 09:32:53 +0800</pubDate><description><![CDATA[1.transforms.Pad()像素的填充
transforms.Pad{
padding,设置填充大小 当为a时 上下左右都是a 
fill=0, 设置填充像素值
padding_mode='constant'  填充模式 constant edge reflect symmetric
}

2.transforms.ColorJitter()图像色彩填充
transforms.ColorJ...]]></description><category></category></item><item><title><![CDATA[pytorch学习笔记（4）：dataset dataloder 一定坚持学完啊！！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105296543</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105296543</guid><author>YaYan233</author><pubDate>Fri, 03 Apr 2020 16:50:55 +0800</pubDate><description><![CDATA[dataset与dataloder
1.dataset：
torch.utils.data.Dataset()
Dataset抽象类，所有自定义的dataset需要继承它，
getitem:接受一个索引，返回一个样本

class Dataset(object):
    def __init__(self, ):
    def __len__(self):
    def __getitem_...]]></description><category></category></item><item><title><![CDATA[pytorch学习笔记（3）：自动求导与逻辑回归简单实现 一定坚持学完啊！！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105289402</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105289402</guid><author>YaYan233</author><pubDate>Fri, 03 Apr 2020 11:36:39 +0800</pubDate><description><![CDATA[自动求导与简单逻辑回归的实现
1.自动求导 torch.autograd.backward()
"""
torch.autograd.backward(
tensor,  用于求导的张量
grad_tensors, 多梯度权重
retain_graph，保存计算图
create_graph 创建导数计算图，用于高阶求导
)
"""

# y=(x+w)*(w+1)
# a=x+w
# b=w+1
...]]></description><category></category></item><item><title><![CDATA[pytorch学习笔记（2）：tensor的操作 以及简单的线性回归 一定坚持学完啊！！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105280248</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105280248</guid><author>YaYan233</author><pubDate>Thu, 02 Apr 2020 21:51:36 +0800</pubDate><description><![CDATA[张量的操作与线性回归
1.张量的拼接torch.cat() torch.stack()
torch.cat( 不会扩张张量的维度
tensors,张量序列
dim, 要拼接的维度
out
)
torch.stack(
tensors,张量序列
dim, 要拼接的维度
out
)
t = torch.ones((2, 3))
t1 = torch.cat([t, t], dim=0)
t2 = to...]]></description><category></category></item><item><title><![CDATA[pytorch学习笔记（1）：tensor   一定坚持学完啊！！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105273012</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105273012</guid><author>YaYan233</author><pubDate>Thu, 02 Apr 2020 17:03:17 +0800</pubDate><description><![CDATA[tensor
tensor：张量，有点像向量
tensor的属性：
data:数据
dtype：张量的数据类型 如：torch.FloatTensor
shape:张量的形状
device：张量所在的设备
requires_grad:是否需要求导
grad：data的梯度
grad_fn:创建Tensor的function
is_leaf:是否为叶子结点

1.直接创建
通过torch.tenso...]]></description><category></category></item><item><title><![CDATA[opencv(9)  ：我一定一定坚持学完啊！ opencv人脸检测]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105247251</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105247251</guid><author>YaYan233</author><pubDate>Wed, 01 Apr 2020 15:34:03 +0800</pubDate><description><![CDATA[人脸检测
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

img = cv.imread('D:/code/opencv/face/CrystalLiu1.jpg')
#导入人脸检测器
face_e = cv.CascadeClassifier(cv.data.haarcascades + 'haarcasc...]]></description><category></category></item><item><title><![CDATA[opencv（8）我一定一定坚持学完啊！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105235261</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105235261</guid><author>YaYan233</author><pubDate>Tue, 31 Mar 2020 23:14:04 +0800</pubDate><description><![CDATA[模板匹配
模板匹配是用来在一副大图中搜寻查找模版图像位置的方法。OpenCV 为我们提供了函数cv2.matchTemplate()。和 2D 卷积一样，它也是用模板图像在输入图像（大图）上滑动，并在每一个位置对模板图像和与其对应的输入图像的子区域进行比较.
import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

i...]]></description><category></category></item><item><title><![CDATA[opencv（7）我一定一定坚持学完啊！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105231912</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105231912</guid><author>YaYan233</author><pubDate>Tue, 31 Mar 2020 21:01:38 +0800</pubDate><description><![CDATA[opencv：轮廓以及直方图
1.找轮廓  绘制轮廓
• 为了更加准确，要使用二值化图像。在寻找轮廓之前，要进行阈值化处理或者 Canny 边界检测。
• 查找轮廓的函数会修改原始图像。如果你在找到轮廓之后还想使用原始图像的话，你应该将原始图像存储到其他变量中。
• 在 OpenCV 中，查找轮廓就像在黑色背景中超白色物体。你应该记住，要找的物体应该是白色而背景应该是黑色。
import cv2 ...]]></description><category></category></item><item><title><![CDATA[opencv（6）我一定一定坚持学完啊！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105223639</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105223639</guid><author>YaYan233</author><pubDate>Tue, 31 Mar 2020 15:23:38 +0800</pubDate><description><![CDATA[opencv：图形梯度以及边缘检测
OpenCV 提供了三种不同的梯度滤波器，或者说高通滤波器：Sobel，Scharr 和 Laplacian。Sobel，Scharr 其实就是求一阶或二阶导数。Scharr 是对 Sobel（使用小的卷积核求解求解梯度角度时）的优化。Laplacian 是求二阶导数。
import  cv2 as cv
import  numpy as np
import  ...]]></description><category></category></item><item><title><![CDATA[opencv（5）我一定一定坚持学完啊！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105218451</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105218451</guid><author>YaYan233</author><pubDate>Tue, 31 Mar 2020 11:22:53 +0800</pubDate><description><![CDATA[opencv：滤波器（卷积）以及形态学转换
1.与以为信号一样，我们也可以对 2D 图像实施低通滤波（LPF），高通滤波（HPF）等。LPF 帮助我们去除噪音，模糊图像。HPF 帮助我们找到图像的边缘
OpenCV 提供的函数 cv.filter2D() 可以让我们对一幅图像进行卷积操作。
import  cv2 as cv
import  numpy as np
import  matplotl...]]></description><category></category></item><item><title><![CDATA[opencv（4）我一定一定坚持学完啊！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105217345</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105217345</guid><author>YaYan233</author><pubDate>Tue, 31 Mar 2020 10:48:42 +0800</pubDate><description><![CDATA[opencv：图像阈值
1.简单阈值
像素值高于阈值时，我们给这个像素赋予一个新值（可能是白色），否则我们给它赋予另外一种颜色（也许是黑色）。这个函数就是 cv2.threshhold()。
import cv2
import numpy as np
from matplotlib import pyplot as plt
img=cv2.imread('D:/code/opencv/images...]]></description><category></category></item><item><title><![CDATA[opencv（3）我一定一定坚持学完啊！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105212145</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105212145</guid><author>YaYan233</author><pubDate>Mon, 30 Mar 2020 23:39:34 +0800</pubDate><description><![CDATA[opencv：图像空间转换与几何变换
1.颜色空间转换：从 BGR 到灰度图，或者BGR 到 HSV 等。
H（色彩/色度）的取值范围是 [0，179]， S（饱和度）的取值范围 [0，255]，V（亮度）的取值范围 [0，255]。
gary = cv.cvtColor(image, cv.COLOR_BGR2GRAY)  # 灰度图
hsv = cv.cvtColor(image, cv.CO...]]></description><category></category></item><item><title><![CDATA[opencv（2）我一定一定坚持学完啊！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105210420</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105210420</guid><author>YaYan233</author><pubDate>Mon, 30 Mar 2020 22:17:48 +0800</pubDate><description><![CDATA[opencv：基本操作2
1.获取像素，并对图像进行修改
import  cv2 as cv
import  numpy as np

image=cv.imread('D:/code/opencv/images/1.png')
print(image.shape)#看图像的形状
print(image.size)#图像大小78*85*3
cv.imshow("退学",image)
p=image...]]></description><category></category></item><item><title><![CDATA[opencv（1）我一定一定坚持学完啊！]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/105208409</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/105208409</guid><author>YaYan233</author><pubDate>Mon, 30 Mar 2020 20:59:50 +0800</pubDate><description><![CDATA[opencv：基本操作1
1.图片的读入、显示、保存
import  cv2 as cv

image=cv.imread('D:/code/opencv/images/1.png')
cv.imshow("d",image) #图片显示
cv2.imwrite('messigray.png',img)#图片保存
cv.waitKey(0)
cv.destroyAllWindows()


2.用...]]></description><category></category></item><item><title><![CDATA[Learning Rich Features at High-Speed for Single-Shot Object Detection]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/103580506</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/103580506</guid><author>YaYan233</author><pubDate>Tue, 17 Dec 2019 19:53:34 +0800</pubDate><description><![CDATA[Learning Rich Features at High-Speed for Single-Shot Object Detection

abstract



单级目标检测方法因其具有实时性强、检测精度高等特点，近年来受到广泛关注。通常，大多数现有的单级检测器遵循两个常见的实践:它们使用在ImageNet上预先训练的网络主干来完成分类任务，并使用自顶向下的特征金字塔表示来处理规模变化。作者...]]></description><category></category></item><item><title><![CDATA[Destruction and Construction Learning for Fine-grained Image Recognition]]></title><link>https://blog.youkuaiyun.com/YaYan233/article/details/103476050</link><guid>https://blog.youkuaiyun.com/YaYan233/article/details/103476050</guid><author>YaYan233</author><pubDate>Tue, 10 Dec 2019 17:19:11 +0800</pubDate><description><![CDATA[Destruction and Construction Learning for Fine-grained Image Recognition

abstract

本文提出一种“破坏和构件的学习”简称为DCL的方法，来增加细粒度识别的难度，强行让分类模型获取专家的知识。提出的方法在训练期间不需要任何额外知识，在预测时除了标准分类网络外，没有计算开销。

1. Introduction

细粒度...]]></description><category></category></item></channel></rss>