<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[codeswarrior的博客]]></title><description><![CDATA[学习心得和知识分享]]></description><link>https://blog.youkuaiyun.com/codeswarrior</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; codeswarrior]]></copyright><item><title><![CDATA[文字识别ASTER视频详解]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/118532648</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/118532648</guid><author>codeswarrior</author><pubDate>Tue, 06 Jul 2021 23:46:41 +0800</pubDate><description><![CDATA[https://www.bilibili.com/video/BV1dy4y1K7oM
视频博客，讲解视频为原创~
如对您有帮助，十分荣幸~
若有错误，望批评指正，十分感谢~

]]></description><category></category></item><item><title><![CDATA[Faster RCNN视频讲解（原理+代码）]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/117869308</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/117869308</guid><author>codeswarrior</author><pubDate>Sun, 13 Jun 2021 10:00:34 +0800</pubDate><description><![CDATA[https://www.bilibili.com/video/BV1R5411M7wN
视频博客，讲解视频为原创~
如对您有帮助，十分荣幸~
若有错误，望批评指正，十分感谢~

]]></description><category></category></item><item><title><![CDATA[视频讲解DBNet]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/116305578</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/116305578</guid><author>codeswarrior</author><pubDate>Fri, 30 Apr 2021 16:14:16 +0800</pubDate><description><![CDATA[https://www.bilibili.com/video/BV1xf4y1p7Gf
视频博客，讲解视频为原创~
如对您有帮助，十分荣幸~
若有错误，望批评指正，十分感谢~

]]></description><category></category></item><item><title><![CDATA[视频详解CRNN（框架+代码+CTC理论）]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/115868675</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/115868675</guid><author>codeswarrior</author><pubDate>Mon, 19 Apr 2021 21:33:25 +0800</pubDate><description><![CDATA[https://www.bilibili.com/video/BV1Wy4y1473z
视频博客，讲解视频为原创~
如对您有帮助，十分荣幸~
若有错误，望批评指正，十分感谢~

]]></description><category></category></item><item><title><![CDATA[python关于+=的陷阱]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/109256550</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/109256550</guid><author>codeswarrior</author><pubDate>Sat, 24 Oct 2020 11:33:36 +0800</pubDate><description><![CDATA[看下面代码
t = (1, 2, [30, 40])
t[2] += [50, 60]

我们知道tuple元组是个不可变元素，所以更改元组的元素道理上是不行的，但是我改变的元素是个列表，它本身是可变的，这样可行吗？？
先别去控制台运行，猜是下面哪一种：

t 变成 (1, 2, [30, 40, 50, 60])。
因为 tuple 不支持对它的元素赋值，所以会抛出 TypeError 异常。
以上两个都不是。
a 和 b 都是对的。

\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
\
]]></description><category></category></item><item><title><![CDATA[python对序列使用*的陷阱]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/109256217</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/109256217</guid><author>codeswarrior</author><pubDate>Sat, 24 Oct 2020 11:07:27 +0800</pubDate><description><![CDATA[python中我们可以使用对序列乘一个数字达到复制的目的
比如a = [1]，那么a * 5 = [1, 1, 1, 1, 1]
但是要注意
如果在a * n这个语句中，序列 a 里的元素是对其他可变对象的引用的话，那么复制的其实是同一个对象的引用，那么当你试图修改其中复制的一个元素时，其他元素都是跟着改变。
例如my_list = [[]] * 3 来初始化一个由列表组成的列表，但是你得到的列表里 包含的 3 个元素其实是 3 个引用，而且这 3 个引用指向的都是同一个列表。


...]]></description><category></category></item><item><title><![CDATA[关于Jupyter Notebook（IPython解释器）的一些神奇小技巧（Tab补全，内省，魔术命令等）]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/109130121</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/109130121</guid><author>codeswarrior</author><pubDate>Sat, 17 Oct 2020 11:29:17 +0800</pubDate><description><![CDATA[Tab补全
当我们写了一半的变量名或者函数名，如果命名空间中已经存在了，那么按下tab键可以自动补全，如果有多个选择，会给出下拉列表的提示，当然如果已经使用了jupyter notebook的自动补全插件那么就会自动提示或自动完成补全。

内省
使用问号（？）

在变量名或函数名后面使用？可以显示变量的信息

2.使用双？可以显示函数源码
3. 和*号结合使用当做通配符查找对象的方法
这个例子就是查找np中有load子串的方法
魔术命令
这里的魔术命令特指的就是IPython解释器的一些特殊的命令，和pyt]]></description><category></category></item><item><title><![CDATA[Python具名元组]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/109107433</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/109107433</guid><author>codeswarrior</author><pubDate>Thu, 15 Oct 2020 23:22:36 +0800</pubDate><description><![CDATA[collections.namedtuple 是一个工厂函数，它可以用来构建一个带字段名的元组和一个有名字的类。
注意：用 namedtuple 构建的类的实例所消耗的内存跟元组是一样的。
from collections import namedtuple

City = namedtuple('City', 'name country population coordinates')
tokyo = City('Tokyo', 'JP', 36.933, (35, 139))
tokyo  # City]]></description><category></category></item><item><title><![CDATA[python元组拆包——用*来处理剩下的元素]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/109085086</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/109085086</guid><author>codeswarrior</author><pubDate>Wed, 14 Oct 2020 21:45:43 +0800</pubDate><description><![CDATA[在 Python 中，函数用 *args 来获取不确定数量的参数算是一种经典写法了
Python 3 里，这个概念被扩展到了平行赋值中

在平行赋值中，* 前缀只能用在一个变量名前面，但是这个变量可以出现在赋值表达式的任意位置


...]]></description><category></category></item><item><title><![CDATA[python的容器序列和扁平序列]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/109083459</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/109083459</guid><author>codeswarrior</author><pubDate>Wed, 14 Oct 2020 20:51:58 +0800</pubDate><description><![CDATA[容器序列
list、tuple 和 collections.deque 这些序列能存放不同类型的数据。
扁平序列
str、bytes、bytearray、memoryview 和 array.array，这类序列只能容纳一种类型
容器序列存放的是它们所包含的任意类型的对象的引用，而扁平序列里存放的是值而不是引用。
换句话说，扁平序列其实是一段连续的内存空间。由此可见扁平序列其实更加紧凑，但是它里面只能存放诸如字符、字节和数值这种基础类型。

...]]></description><category></category></item><item><title><![CDATA[python魔术方法（dunder method）__len__, __getitem__, __repr__等]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/109078460</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/109078460</guid><author>codeswarrior</author><pubDate>Wed, 14 Oct 2020 17:17:08 +0800</pubDate><description><![CDATA[python里这些特殊方法的存在是为了被python解释器调用的，自己并不需要调用他们，不存在my_object.__len__()这种写法，而应该使用 len(my_object)，用户通过使用len()这种通用的方法，解释器去调用__len__()方法。
这里len需要多说两句：
在执行 len(my_object) 的时候，如果 my_object 是一个自定义类的对象，那么 Python 会自己去调 用其中由你实现的__len__()方法。 然而如果是 Python 内置的类型，比如列表（list）]]></description><category></category></item><item><title><![CDATA[C++中的四种多态 (The Four Polymorphisms in C++翻译)]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/108707583</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/108707583</guid><author>codeswarrior</author><pubDate>Mon, 21 Sep 2020 14:05:06 +0800</pubDate><description><![CDATA[本文为The Four Polymorphisms in C++这篇文章的翻译，非机器翻译，如有理解或术语错误望指正，谢谢~
C++中的四种多态（Polymorphisms）
当人们在谈论C++的多态的时候，他们通常指的是通过基类的指针或者引用，来使用派生类，这其实被称为子类型多态（subtype polymorphism），但是他们经常会忘掉其实C++里面还有各种其他的多态，比如参数多态（parametric polymorphism），重载多态（ad-hoc polymorphism）和强制多态（coe]]></description><category></category></item><item><title><![CDATA[python IO编程知识点]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/108613899</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/108613899</guid><author>codeswarrior</author><pubDate>Wed, 16 Sep 2020 08:53:46 +0800</pubDate><description><![CDATA[学习资料来自廖雪峰python
文件读写

使用open()函数得到文件对象，调用read()方法读取，最后完成后务必调用close()方法关闭文件，因为文件对象会占用操作系统的资源，并且操作系统同一时间能打开的文件数量也是有限的。
参数’r’读取文本文件，'rb’读取二进制文件。
read()一次读取文件全部的内容，read(size)每次最多读取size个字节的内容，readline()可以每次读取一行内容，readlines()一次读取所有内容并按行返回list。
只要写个read()方法就叫做fil]]></description><category></category></item><item><title><![CDATA[Git常用命令整理]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/107579313</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/107579313</guid><author>codeswarrior</author><pubDate>Sat, 25 Jul 2020 15:21:02 +0800</pubDate><description><![CDATA[Git常用命令整理
前言：
​       Git是目前流行的版本控制工具，或者项目管理工具，多个人共同开发维护一个项目的时候，如何协调同步工作就可以用到Git。
​       作为分布式的版本控制工具，每个人那里都有一份完整的项目，每个人可以修改自己的那份项目，它可以记录你的最新修改，改瞎了也能回退到原来的版本，修改之后，别人如何获取其他人的修改合并后的最新版本项目，可以所有人两两相互推送，麻烦~

​                                                   ]]></description><category></category></item><item><title><![CDATA[学习VGG（网络讲解+代码）]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/107540780</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/107540780</guid><author>codeswarrior</author><pubDate>Thu, 23 Jul 2020 22:17:43 +0800</pubDate><description><![CDATA[VGG
（新手入门，如理解有误感谢指正）
论文地址
VGG是由牛津大学的Visual Geometry Group组提出的，在LSVRC 2014中获得了亚军，而冠军是GoogLeNet，后面会学习并讲解。
本篇论文首次探究了网络的深度对于网络预测精度的影响，发现使用尺寸更小的卷积核和更深的网络可以达到更好的预测精度，我们常听说的VGG-16, VGG-19中16和19就是只网络的深度有16层和19层。
整体网络架构
网络的输入尺寸依然是224×224224\times224224×224的RGB图像，并且]]></description><category></category></item><item><title><![CDATA[学习ZFNet（网络讲解+代码）]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/107528748</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/107528748</guid><author>codeswarrior</author><pubDate>Thu, 23 Jul 2020 11:29:35 +0800</pubDate><description><![CDATA[阅读ZFNet论文
（新手入门，如理解有误感谢指正）
论文地址
ZFNet通常被认为是ILSVRC 2013的冠军，它实际上是对AlexNet的微调，对AlexNet的网络结构进行了细微调整。
但是这篇论文另一个重要的贡献是提出了对卷积神经网络中间层可视化的方法。
下面我们分别看一下：

ZFNet：
我们首先只看一下网络结构

我们再放一张AlexNet的网络结构做对比






ZFNet
ZFNet output
AlexNet
AlexNet output




(layer1) 卷积层
7×7]]></description><category></category></item><item><title><![CDATA[Linux下启动MongoDB]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/107515302</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/107515302</guid><author>codeswarrior</author><pubDate>Wed, 22 Jul 2020 16:00:59 +0800</pubDate><description><![CDATA[首先以配置文件的形式保存配置
mongod.conf
port=27017
bind_ip=127.0.0.1
dbpath=/path/db
logpath=/path/mongod.log 
pidfilepath=/path/mongod.pid 
unixSocketPrefix=/path/mongodb
logappend=true 
fork=true

进入mongodb安装文件夹的bin目录下
运行
./mongod -f /path/mongod.conf 


...]]></description><category></category></item><item><title><![CDATA[非root用户下安装supervisor并使用supervisor和gunicorn部署项目]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/107511960</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/107511960</guid><author>codeswarrior</author><pubDate>Wed, 22 Jul 2020 15:10:38 +0800</pubDate><description><![CDATA[非root用户下安装supervisor并使用supervisor和gunicorn部署项目

背景：
使用实验室的服务器部署Flask项目的时候，打算使用supervisor+gunicorn来部署，之前按照网上部署Flask项目的教程，其中gunicorn可以使用pip命令
pip install gunicorn

supervisor的安装，直接使用sudo apt-get就完事
sudo apt-get -y install supervisor

然而非root模式下就不行了，sudo是不可能的]]></description><category></category></item><item><title><![CDATA[学习AlexNet（网络讲解+代码）]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/107219813</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/107219813</guid><author>codeswarrior</author><pubDate>Thu, 09 Jul 2020 15:15:53 +0800</pubDate><description><![CDATA[阅读AlexNet论文
（新手入门，如理解有误感谢指正）
论文地址
AlexNet是2012年ILSVRC的第一名
它的整体框架如图1所示：
图1
首先整体概括一下AlexNet主要用到的一些技术方法：

使用ReLU作为非线性激活函数而非以往的sigmoid或tanh
采用了模型并行，将网络按照feature maps的深度一分为二放在两个GPU上训练
使用了Local Response Normalization（LRN）局部归一化
使用了重叠的池化层
防止过拟合采用了数据增强（Data Augment]]></description><category></category></item><item><title><![CDATA[学习LeNet（网络讲解+代码）]]></title><link>https://blog.youkuaiyun.com/codeswarrior/article/details/107077797</link><guid>https://blog.youkuaiyun.com/codeswarrior/article/details/107077797</guid><author>codeswarrior</author><pubDate>Sat, 04 Jul 2020 10:16:20 +0800</pubDate><description><![CDATA[阅读LeNet论文
LeNet原论文地址
原论文共分了11个部分，我们所听说的LeNet-5是在Section II第二部分讲解的，其他部分可以自行阅读论文。
不算输入层，LeNet-5一共有7层网络

]]></description><category></category></item></channel></rss>