<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dlvector的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/github_38148039</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; github_38148039]]></copyright><item><title><![CDATA[Python Performance Matters]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/130692578</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/130692578</guid><author>github_38148039</author><pubDate>Tue, 16 May 2023 21:47:27 +0800</pubDate><description><![CDATA[python performance]]></description><category></category></item><item><title><![CDATA[理解cpp的重载，重写，重定义]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/128015231</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/128015231</guid><author>github_38148039</author><pubDate>Thu, 24 Nov 2022 11:44:57 +0800</pubDate><description><![CDATA[函数重载overload，重写override和重定义redefine。]]></description><category></category></item><item><title><![CDATA[C 库函数 - feof()]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/124259412</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/124259412</guid><author>github_38148039</author><pubDate>Mon, 18 Apr 2022 21:08:19 +0800</pubDate><description><![CDATA[feof(）判断文件结尾
feof函数读取文件最后一个字符的时候依然会返回0,表明没有到达文件结尾，只有再往后读取字符(越过最后一个字符)，feof()才会返回一个非零值，表示到达文件结尾。
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
int main()
{
    char StrTmp[80];
    memset(StrTmp,0,sizeof(StrTmp));
    FILE *fp;
    fp=fopen("test.txt",]]></description><category></category></item><item><title><![CDATA[网络模型不收敛的可能原因]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/123784496</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/123784496</guid><author>github_38148039</author><pubDate>Mon, 28 Mar 2022 01:03:28 +0800</pubDate><description><![CDATA[检查输入数据是否正常。是否有异常数据（全部是零，gt不对）
是否归一化数据
与预训练模型原来的输入标准是否一致。
数据预处理是否正确
简单化自己的问题。
检查自己的损失函数
检查损失的输入
检查自定义的网络层
检查冻结层的设置
检查维度信息是否匹配
梯度回传检查
检查模型初始化参数
超参数的设置是否合理
减少正则化
训练模式和测试模式的相互转换
可视化 (权重，激活函数，权重直方图，层的更新）
使用不同的优化器
梯度爆炸和梯度消失（查看梯度的值）
调节学习率的大小（和权重应该是数量级的差异，权重0.1，学.]]></description><category></category></item><item><title><![CDATA[ROI Align的实现原理2_代码实现]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/123676004</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/123676004</guid><author>github_38148039</author><pubDate>Wed, 23 Mar 2022 01:43:28 +0800</pubDate><description><![CDATA[​
书接上文，上一次分析了一下ROI Align的原理是如何实现的，一直想知道具体细节是如何实现的，这里找了相关资料进行学习．
上一篇原理介绍博客：ROI Align的实现原理_dlvector的博客-优快云博客
输入输出的官方文档

Arguments:
input (Tensor[N, C, H, W]): input tensor
boxes (Tensor[K, 5] or List[Tensor[L, 4]]): the box coordinates in (x1, y1, x2, y2)
f]]></description><category></category></item><item><title><![CDATA[python深度拷贝和浅拷贝的差异]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/123012786</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/123012786</guid><author>github_38148039</author><pubDate>Fri, 18 Feb 2022 23:45:19 +0800</pubDate><description><![CDATA[# add a new element to orignal 1D list a

import copy 
a = [1, 2]
b = a 
c = a.copy() 
d = a[:]
e = list(a)
f = copy.copy(a)
g = copy.deepcopy(a) 

print("add a new element to orignal 1D list a")
a.append(3)

print("original a = ", a)
print("assign b = ", ]]></description><category></category></item><item><title><![CDATA[从汇编角度看编译器优化]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/122817216</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/122817216</guid><author>github_38148039</author><pubDate>Tue, 08 Feb 2022 01:19:12 +0800</pubDate><description><![CDATA[化简
内联函数
指针(别名现象)
矢量化
循环内部优化
结构体(直接对齐)
STL容器
数学运算
编译器选项


]]></description><category></category></item><item><title><![CDATA[cpp拷贝构造的3/5法则]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/122529989</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/122529989</guid><author>github_38148039</author><pubDate>Sun, 16 Jan 2022 23:18:31 +0800</pubDate><description><![CDATA[来源

由于拷贝控制操作是由三个特殊的成员函数来完成的，所以我们称此为“C++三法则”。在较新的 C++11 标准中，为了支持移动语义，又增加了移动构造函数和移动赋值运算符，这样共有五个特殊的成员函数，所以又称为“C++五法则”。也就是说，“三法则”是针对较旧的 C++89 标准说的，“五法则”是针对较新的 C++11 标准说的。为了统一称呼，后来人们把它叫做“C++ 三/五法则”。

CPP拷贝构造

这个命名,原来看c++ primer的时候,搞的我有点晕,今天梳理一下:
这个命名可以看做 内容来源 +]]></description><category></category></item><item><title><![CDATA[mmdection入门]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/122163823</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/122163823</guid><author>github_38148039</author><pubDate>Mon, 27 Dec 2021 00:40:07 +0800</pubDate><description><![CDATA[mmdection基本框架


]]></description><category></category></item><item><title><![CDATA[非极大值抑制算法（Non-Maximum Suppression，NMS）]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/122160495</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/122160495</guid><author>github_38148039</author><pubDate>Sun, 26 Dec 2021 21:02:17 +0800</pubDate><description><![CDATA[算法思想
目标检测中常用到NMS，在faster R-CNN中，每一个bounding box都有一个打分，NMS实现逻辑是：
1，按打分最高到最低将BBox排序 ，例如：A B C D E F
2，A的分数最高，保留。从B-E与A分别求重叠率IoU，假设B、D与A的IoU大于阈值，那么B和D可以认为是重复标记去除
3，余下C E F，重复前面两步。
代码实现
"""
文件说明：https://www.cnblogs.com/king-lps/p/9031568.html
"""

# !/usr/bin/]]></description><category></category></item><item><title><![CDATA[如何高效阅读源码]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/122031910</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/122031910</guid><author>github_38148039</author><pubDate>Sun, 19 Dec 2021 23:20:34 +0800</pubDate><description><![CDATA[以前阅读代码总是很慢，自己理解能力也不是很好，很难直接在脑中运算出每一步结果，主要原因有两点：

对api不熟悉，框架太多，函数太多．－＞多熟悉自己常用的框架
源码框架层数一般较深，多次返回就会记不住原来的内容．
这次也是从网上阅读了一些博主的帖子，希望改进自己的源码阅读能力，提高工作效率．

如何高效阅读源码

带着问题去阅读，这次为什么看代码？希望理解和解决什么问题？
先让项目可以跑起来
多熟悉框架的功能点的使用，不会用就谈不上读
多debug，打断点来分析运行的情况．
重点地方写注释
形成文档，记录自]]></description><category></category></item><item><title><![CDATA[maxflow 算法]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/119987955</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/119987955</guid><author>github_38148039</author><pubDate>Sun, 26 Sep 2021 01:15:50 +0800</pubDate><description><![CDATA[一些相关的博客

一些论文和代码实现
图像处理中的全局优化技术(Global optimization techniques in image processing and computer vision) (一)　　这个博客写的特别好，一定要好好研究一下．
wiki:Ford–Fulkerson algorithm
最大流问题与Ford-Fulkerson算法介绍



...]]></description><category></category></item><item><title><![CDATA[网课:GAMES101-homewor1]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/119089095</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/119089095</guid><author>github_38148039</author><pubDate>Sun, 25 Jul 2021 22:40:00 +0800</pubDate><description><![CDATA[本次作业主要是补充两个函数，实现的目标是一个三角形绕着一个轴旋转．主要是使用课上ＰＰＴ４里面涉及的内容．
主要讲解了三个矩阵，ＭＶＰ．
对应在计算机里的拍照，实际上是这三步：
Model：把要成像的物体摆好位置。
View：摆好照相机的位置，对准。
Projection：成像！
它们分别对应着三种变换，这就是 MVP transformation，我们目前要做的，就是搞清楚它们是怎么变换的。
第一个模型的变化矩阵的旋转矩阵是最简单的，直接从２维度的情况推演过来就可以了．

Eigen::Matrix4f g]]></description><category></category></item><item><title><![CDATA[存档＿CmakeList的一些常见配置]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/119084031</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/119084031</guid><author>github_38148039</author><pubDate>Sun, 25 Jul 2021 16:48:27 +0800</pubDate><description><![CDATA[cmake 设置cuda的时候一些配置选项．
# 按惯例，cmake的版本
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
# 项目名称
PROJECT(AD-Census)
# cmake寻找cuda，这个要现在系统里面装好cuda，设置好cuda的环境参数啥的
FIND_PACKAGE(CUDA REQUIRED)
# C++和CUDA的编译参数，可选。
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
SET(CUDA_N]]></description><category></category></item><item><title><![CDATA[dataset探索：花的类别]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/118833713</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/118833713</guid><author>github_38148039</author><pubDate>Sat, 17 Jul 2021 00:19:57 +0800</pubDate><description><![CDATA[daisy：
雏菊(花); (类似雏菊，但花稍大的)菊科植物;

dandelion
蒲公英;

rose
玫瑰

sunflowers
向日葵

tulips
郁金香


]]></description><category></category></item><item><title><![CDATA[网课:GAMES101-homework pa0]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/115610866</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/115610866</guid><author>github_38148039</author><pubDate>Mon, 12 Apr 2021 01:20:26 +0800</pubDate><description><![CDATA[作业１还是挺简单的，把课上一些基本的概念写成代码即可。

#include&lt;cmath&gt;
#include&lt;eigen3/Eigen/Core&gt;
#include&lt;eigen3/Eigen/Dense&gt;
#include&lt;iostream&gt;

int main(){

    // Basic Example of cpp
    std::cout &lt;&lt; "Example of cpp \n";
    float a = 1.0, b = 2.]]></description><category></category></item><item><title><![CDATA[Anaconda瘦身_清理相关存储]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/115447103</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/115447103</guid><author>github_38148039</author><pubDate>Mon, 05 Apr 2021 20:15:11 +0800</pubDate><description><![CDATA[用了一年的anaconda，存储占用44G,不断出现存储不够的报警。

可以看到有很多库，不同版本的库，这里可以用conda自带的清理命令行来处理一下。
conda clean 命令方参数
$ conda clean -H
usage: conda clean [-h] [-a] [-i] [-l] [-p] [-t] [-f]
                   [-c TEMPFILES [TEMPFILES ...]] [-d] [--json] [-q] [-v] [-y]

Remove unu]]></description><category></category></item><item><title><![CDATA[导向滤波原理（Guided Filter）的一些剖析和实践]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/115034357</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/115034357</guid><author>github_38148039</author><pubDate>Sun, 21 Mar 2021 01:54:41 +0800</pubDate><description><![CDATA[参考：

知乎：导向滤波原理（Guided Filter）
优快云博客：双边滤波与引导滤波



]]></description><category></category></item><item><title><![CDATA[ROI Align的实现原理]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/113907488</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/113907488</guid><author>github_38148039</author><pubDate>Sun, 21 Feb 2021 02:00:16 +0800</pubDate><description><![CDATA[ROI Pooling 的局限性分析

在常见的两级检测框架（比如Fast-RCNN，Faster-RCNN，RFCN）中，ROI Pooling 的作用是根据预选框的位置坐标在特征图中将相应区域池化为固定尺寸的特征图，以便进行后续的分类和包围框回归操作。由于预选框的位置通常是由模型回归得到的，一般来讲是浮点数，而池化后的特征图要求尺寸固定。故ROI Pooling这一操作存在两次量化的过程。

将候选框边界量化为整数点坐标值。
将量化后的边界区域平均分割成 k x k 个单元(bin),对每一个单元的边.]]></description><category></category></item><item><title><![CDATA[网课:GAMES101-现代计算机图形学入门-闫令琪]]></title><link>https://blog.youkuaiyun.com/github_38148039/article/details/113804640</link><guid>https://blog.youkuaiyun.com/github_38148039/article/details/113804640</guid><author>github_38148039</author><pubDate>Sat, 13 Feb 2021 23:38:00 +0800</pubDate><description><![CDATA[点乘：主要用来区分向量的方向，确定向量是否同向（点乘为正）

叉乘：主要用来1.寻找法向量，2.点是否在向量包围圈之内。3.区分两个向量的左右关系。




齐次坐标

为啥需要使用齐次坐标呢？主要是为了统一线性变换和平移这一个操作，成矩阵乘法的形式。

第三个维度，等于0的时候，表示的是向量；等于1的时候，表示的是点。

这个ppt中，点+点是中点，原因是因为相加之后，第三个维度有2*w,把第三个维度变成1之后，点就变成了中点的形式。


参考博客：

视频：GAMES101-现代计算机图形学入门-闫令琪]]></description><category></category></item></channel></rss>