<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[每天都要进步哦~]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ECNU_LZJ</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ECNU_LZJ]]></copyright><item><title><![CDATA[300行代码实现一个优雅的PyTorch Trainer]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/125137614</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/125137614</guid><author>ECNU_LZJ</author><pubDate>Sun, 05 Jun 2022 22:06:26 +0800</pubDate><description><![CDATA[在江湖上混，没有一把趁手的兵器怎么能行。对于一个深度学习算法工程师来说，一个强大的Trainer就是趁手的兵器，在复现顶会论文的时候不用每次都要写大量的模版代码，可以更加关注模型实现本身。我平时也开源了一些深度学习项目，累计获赞400+，最近整理了一些之前的代码，也看了很多优秀的开源实现，然后从0实现了一个小而美的trainer...]]></description><category></category></item><item><title><![CDATA[可能95%的人还在犯的PyTorch错误]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/125136375</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/125136375</guid><author>ECNU_LZJ</author><pubDate>Sun, 05 Jun 2022 20:39:04 +0800</pubDate><description><![CDATA[或许是by design，但是这个bug目前还存在于很多很多人的代码中。就连特斯拉AI总监Karpathy也被坑过，并发了一篇推文......]]></description><category></category></item><item><title><![CDATA[cv2.rectangle不会修改原图像]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/121865370</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/121865370</guid><author>ECNU_LZJ</author><pubDate>Fri, 10 Dec 2021 21:43:04 +0800</pubDate><description><![CDATA[正常情况下，cv2.rectangle是inplace操作，即会修改输入的原始图像。


import cv2
img = cv2.imread("1.jpeg")
# img会被修改
cv2.rectangle(img, (10, 10), (1000, 1000), color=(255, 0, 0))
cv2.imwrite("rec_img.jpg", img)

可以发现输入的图片数组确实在函数中被修改了。

在训练深度神经网络的时候，我们经常需要将图片的通道顺序从BGR切换成RGB。一个简单的方]]></description><category></category></item><item><title><![CDATA[Python3和Python2中round函数的差异]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/115414535</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/115414535</guid><author>ECNU_LZJ</author><pubDate>Sat, 03 Apr 2021 12:03:57 +0800</pubDate><description><![CDATA[Python3和Python2中round函数的差异
Python2中round函数为四舍五入:
&gt;&gt;&gt; round(1.5)
2.0
&gt;&gt;&gt; round(2.5)
3.0
&gt;&gt;&gt; round(3.5)
4.0
&gt;&gt;&gt; round(4.5)
5.0

Python3中当遇到5的时候会舍入到最近的偶数
&gt;&gt;&gt; round(1.5)
2
&gt;&gt;&gt; round(2.5)
2
&gt;&gt;&gt; roun]]></description><category></category></item><item><title><![CDATA[Pytorch-nn.Conv2d中groups参数的理解]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/105265843</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/105265843</guid><author>ECNU_LZJ</author><pubDate>Thu, 02 Apr 2020 11:34:23 +0800</pubDate><description><![CDATA[Pytorch-nn.Conv2d中groups参数的理解
class torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True)
group参数的作用是控制分组卷积。
直接通过实际的例子加以说明。
import torch
import ...]]></description><category></category></item><item><title><![CDATA[编译全功能vim8]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475139</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475139</guid><author>ECNU_LZJ</author><pubDate>Mon, 24 Feb 2020 12:02:44 +0800</pubDate><description><![CDATA[编译全功能vim8
这篇博客讲解如何在ubuntu下编译vim8源码。参考：YCM
1.卸载原有的vim
sudo apt-get purge vim vim-runtime vim-gnome vim-common vim-tiny vim-gui-common

然后用dpkg -l | grep vim查看还有什么和vim相关的包，如果有，用dpkg --purge删除。
2.安装编译vim...]]></description><category></category></item><item><title><![CDATA[禁用vscode硬件加速]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475126</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475126</guid><author>ECNU_LZJ</author><pubDate>Mon, 24 Feb 2020 12:02:15 +0800</pubDate><description><![CDATA[禁用vscode硬件加速
有以下两种方法：

启动时加上--disable-gpu选项
ctrp+shift+p打开命令面板，找到Preferences: Configure Runtime Arguments命令，然后加上"disable-hardware-acceleration": true即可。


...]]></description><category></category></item><item><title><![CDATA[深入理解python的package机制]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475117</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475117</guid><author>ECNU_LZJ</author><pubDate>Mon, 24 Feb 2020 12:01:32 +0800</pubDate><description><![CDATA[深入理解python的package机制
参考：深入理解python package
类(class)，模块(module)，包(package)
模块就是python文件，里面包含着代码(类)。包是一个包含 __init__.py 的文件夹。
三者的关系就是：模块包含类，包至少包含一个名为 __init__.py 的模块。
一个包的例子如下：
package
├── __init__.py
├─...]]></description><category></category></item><item><title><![CDATA[永久性地修改PYTHONPATH]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475111</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475111</guid><author>ECNU_LZJ</author><pubDate>Mon, 24 Feb 2020 12:01:02 +0800</pubDate><description><![CDATA[永久性地修改PYTHONPATH
import sys; sys.path.append()这种方法用来临时修改PYTHONPATH。如果想要永久性的修改PYTHONPATH，有以下两种方法。

修改~/.bashrc，添加export PYTHONPATH=$PYTHONPATH:/my/other/path
以anaconda为例，在~/anaconda3/envs/xxx/lib/pytho...]]></description><category></category></item><item><title><![CDATA[Fatal error: cuda.h, No such file or directory]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475098</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475098</guid><author>ECNU_LZJ</author><pubDate>Mon, 24 Feb 2020 12:00:32 +0800</pubDate><description><![CDATA[Fatal error: cuda.h, No such file or directory
最近在编译别人源代码的时候，gcc报了如下错误：Fatal error: cuda.h, No such file or directory
解决方法分为两步：


在~/.bashrc中设置环境变量
export CUDA_HOME=/home/usr/local/cuda-9.0
export PAT...]]></description><category></category></item><item><title><![CDATA[常用的vim操作]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475086</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104475086</guid><author>ECNU_LZJ</author><pubDate>Mon, 24 Feb 2020 11:59:49 +0800</pubDate><description><![CDATA[常用的vim操作
撤销和重做
u，撤销
ctrl+r，重做
翻页
ctrl+d，向下翻半页，d=down
ctrl+u，向上翻半页，u=up
ctrl+f，向下翻一整页，f=forward
ctrl+b，向上翻一整页，b=backward
基本编辑指令
Esc，回到普通模式
i，在当前位置插入
I，在行首插入
a，在后一个位置插入
A，在行尾插入
o，在下方插入新行
O，在上方插入新行
x，删除光...]]></description><category></category></item><item><title><![CDATA[常用的ipdb调试命令]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455772</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455772</guid><author>ECNU_LZJ</author><pubDate>Sun, 23 Feb 2020 10:30:44 +0800</pubDate><description><![CDATA[常用的ipdb调试命令
常用的ipdb命令整理如下。

h(help)：帮助命令
s(step into)：进入函数内部
n(next)：执行下一行
b(break): b line_number打断点
cl(clear): 清除断点
c(continue): 一直执行到断点
r(return): 从当前函数返回
j(jump): j line_number，跳过代码片段，直接执行指定行号所在的代...]]></description><category></category></item><item><title><![CDATA[如何知道当前vim某个设置的状态]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455761</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455761</guid><author>ECNU_LZJ</author><pubDate>Sun, 23 Feb 2020 10:30:13 +0800</pubDate><description><![CDATA[如何知道当前vim某个设置的状态
假如此时在vim中我们想查看foldmethod选项的具体值，该怎么办呢？其实很简单，只需要下面这条命令即可
:set foldmethod?


]]></description><category></category></item><item><title><![CDATA[如何在vim中执行shell命令]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455748</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455748</guid><author>ECNU_LZJ</author><pubDate>Sun, 23 Feb 2020 10:29:43 +0800</pubDate><description><![CDATA[如何在vim中执行shell命令
vim8以后也支持了内置terminal，但是今天我要说的是一种古老的方式。

ctrl+z，让vim进入后台运行
在shell里为所欲为
fg回到vim


]]></description><category></category></item><item><title><![CDATA[主动学习python框架libact配置教程]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455731</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455731</guid><author>ECNU_LZJ</author><pubDate>Sun, 23 Feb 2020 10:29:02 +0800</pubDate><description><![CDATA[主动学习python框架libact配置教程
配置教程
libact是一个Python包，旨在让用户更容易地进行主动学习。该包不仅实现了几种流行的主动学习策略，而且还提供了一种“active learning by learning”算法，该算法可以帮助用户动态地自动选择最佳主动学习策略。此外，该包还提供了一个统一的接口，用于实现更多的主动学习策略。
接下来进入正题：如何安装libact


gi...]]></description><category></category></item><item><title><![CDATA[为tmux和vim开启真彩色]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455710</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455710</guid><author>ECNU_LZJ</author><pubDate>Sun, 23 Feb 2020 10:28:03 +0800</pubDate><description><![CDATA[为tmux和vim开启真彩色
有一些vim主题（如solarized）在GUI和终端下效果不同，有可能是因为这个主题需要true color（24位颜色）的支持，而通常终端只开启256色（如xterm-256color）。下面来看看怎么开启true color支持。
验证终端的色彩支持
真彩色的支持是需要终端的支持的，常用的终端（如iterm2，konsole等）都已经支持了。
我们可以自己验证终...]]></description><category></category></item><item><title><![CDATA[为tmux和vim开启斜体和真彩色]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455702</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455702</guid><author>ECNU_LZJ</author><pubDate>Sun, 23 Feb 2020 10:27:21 +0800</pubDate><description><![CDATA[为tmux和vim开启斜体和真彩色
这篇文章是我上一篇博客：为tmux和vim开启真彩色的拓展
一般终端会支持斜体，但是tmux中是无法显示斜体的。网上的很多教程都已经过时，今天我来分享下如何在tmux中启用斜体吧。参考：reference
1. 检查tmux中能否显示斜体
echo -e "\e[3mitalic\e[23m"

2. 创建新的终端类型
我们创建一种新的终端类型tmux-256c...]]></description><category></category></item><item><title><![CDATA[vim查询快捷键是否已被使用]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455684</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455684</guid><author>ECNU_LZJ</author><pubDate>Sun, 23 Feb 2020 10:26:38 +0800</pubDate><description><![CDATA[vim查询快捷键是否已被使用
按:进入vim的命令行模式，然后输入verbose map &lt;key&gt;，其中&lt;key&gt;即为你要查询的按键。
例子：verbose map &lt;F2&gt;

]]></description><category></category></item><item><title><![CDATA[tmux常用操作]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455676</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455676</guid><author>ECNU_LZJ</author><pubDate>Sun, 23 Feb 2020 10:26:08 +0800</pubDate><description><![CDATA[tmux常用操作
tmux所有快捷键都有一个前缀ctrl+b，这里简称prefix。
会话
tmux new，创建默认名称的会话
tmux kill-server，关闭所有会话
prefix s，列出会话，可进行切换
窗口
prefix c，创建一个新窗口
窗格
prefix %，水平方向创建窗格
prefix "，竖直方向创建窗格
prefix o，顺时针切换窗格
prefix 方向键，用方向键...]]></description><category></category></item><item><title><![CDATA[vim和系统粘贴板交互]]></title><link>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455655</link><guid>https://blog.youkuaiyun.com/ECNU_LZJ/article/details/104455655</guid><author>ECNU_LZJ</author><pubDate>Sun, 23 Feb 2020 10:25:18 +0800</pubDate><description><![CDATA[vim和系统粘贴板交互
默认情况下，vim是无法和系统粘贴板交互的，如何实现这两者的沟通呢？
查看vim是否支持clipboard
vim --version | grep "clipboard"

如果显示的是-clipboard，则需要安装图形化界面的vim，或者重新编译vim。
安装图形化界面的vim。
sudo apt-get install vim-gnome

安装的时候可能会出现依赖...]]></description><category></category></item></channel></rss>