- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 将Huffman编码规则存储到压缩文件
1.1.1 原理以 [字符1的原编码 + 字符1的Huffman编码 + 字符1的Huffman编码长度, 字符2的原编码 + 字符2的Huffman编码 + 字符2的Huffman编码长度, …]的方式暴力存储。这个方法需要注意的是所有字符的原编码都需占据相同的二进制位数, 比如16bit。 所有字符的Huffman编码也必须占据相同的二进制位数,比如16bit. 编码长度也是一样。因为huffman码是不定长码,所以需要在后缀补0对齐。1.2 举例假设有三个字符 [A, B, C] 。 它们
2021-04-14 13:01:13 445
原创 CSS基础 (1)
1. css形式内部样式表<html><head><style>/*此处写内部样式表*/</style></head><body>...</body></html>外部样式表在 HTML 页面<head> 部分内的<link> 元素中进行指定css文件的路径。内联样式通过元素的style属性指定。但应该尽量避免使用内联样式,因为这样做会使结构和格式混在
2021-04-09 17:00:08 515
原创 HTML基础知识(1)
1. 标题常见的元素元素含义备注<html>整个网页<head>定义内部样式表/指定外部样式表<body>能显示的网页结构<h1>一级标题类似的有h2,h3,…<p>段落<a>链接需指定属性href<img>图片需制定属性src<br/>换行此元素无需首尾闭合,反括号前有一个\表示结束<hr>水平
2021-04-09 16:03:32 427
原创 Python: 可变/不可变对象,赋值, 引用
这一部分看似很容易让人糊涂,实际上只需要记住三点,其他一切现象都可以推导而出。Python的变量(不管存储的是可变对象还是不可变对象)本质类似于指针,存储的是引用Python的不可变对象(只有turple, int, float, bool, string)不可以在原处被修改,想修改必须创建一个新的对象; 可变对象可以在原处被修改。Python中,相同的不可变对象只有一个; 相同的可变对象可以有多个。Python的 == 只检查两边的值是否相等, 而用is检查两边是否指向同一对象。我们通过以上
2021-04-07 21:35:10 577 2
原创 linux常用命令
用来记录容易遗忘的命令。文章目录1. 创建文件或文件夹1. 创建文件或文件夹touch filename mkdir dir_name
2021-03-14 20:10:10 994
原创 linux下递归删除特定文件以外的文件
1. 非递归删除特定文件以外的文件# 开启extglob模式,能另外识别出5个模式匹配操作符shopt -s extglob # 删除当前目录下除java和py文件外的所有文件,不会删除文件夹rm !(*.java|*.py)需要注意,想要递归删除特定文件以外的文件,不能使用以下代码。因为-r递归,不仅会删除文件,还会把所有不以,py和.java结尾的文件夹全部删除掉。这样即使文件夹里有py和java文件,文件夹也会被删除掉,里面的文件自然也全部被删除。rm -rf !(*.java|*.p
2021-03-14 20:04:55 1132
原创 蓝桥杯Python习题记录
语法圆周率pi与自然常数e的表示:math.pi, math.exp(1)四舍五入的实现round函数是四舍六入五平分,平分是指前面一位是偶数则进1,是奇数则舍弃。# 四舍五入三位小数的实现from decimal import Decimal# decimal的输入必须是字符串Decimal(str(a)).quantize(Decimal('0.000'))习题...
2021-02-09 21:51:10 967
原创 PyTorch DataParallel的一些坑点和使用技巧
1. 报错PyTorch DataParallel RuntimeError: expected device cuda:1 but got device cuda:0原因是直接使用了DataParallel作为神经网络。# 可能报错的写法model = DataParallel(Res_Net())out = model(input)# 解决办法model = DataParallel(Res_Net())model = model.modukle()out = model(input)
2020-08-03 19:49:16 8400 3
原创 爬虫爬取到空网页的解决办法和防止被封号的技巧---设置headers和proxies
通过Python的requests.get(url)有时候会爬到的内容有时候是空网页。原因是网站检测到你发送的request不正常。这时候通过设置headers参数来模拟真实浏览器发送的请求,往往能解决问题。headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537
2020-08-01 23:27:50 2468
原创 神经网络训练的一些技巧和方法
文章目录2. train network2.1 如何防止过拟合2.2 train loss与test loss结果分析2.3 解决神经网络训练时train loss不下降的问题2.4 学习率设置与更新2.5 为不同网络层设置不同的学习率2.6 L1 Loss与L2 Loss的对比与选取L1 Loss:L2 Loss:smooth L1 Loss:L1与L2 Loss的选择:2. train network2.1 如何防止过拟合过拟合主要有两个原因造成的,数据太少和模型太复杂。对于模型复杂,最简单暴力的
2020-07-29 01:37:53 3940 1
原创 python: matplotlib的提升级使用
1.如何在已有的图像上绘点# img是PIL.Image或者np.array都可以plt.imshow(img)# 一些点x = [box[0][0],box[1][0],box[2][0],box[3][0],]y = [box[0][1],box[1][1],box[2][1],box[3][1],]# 使用红色星状标记绘制点plt.plot(x,y,'r*')# 绘制连接前两个点的线plt.plot(x[:2],y[:2])plt.axis('off')plt.savefig(i
2020-07-29 01:10:49 1442 2
原创 python---图片文件的多种打开方式和相互转化
文章目录1. 多种打开方式1. 多种打开方式PILfrom PIL import Image# 返回PIL.Image.Image类img = Image.open(imgpth)SciPy是一个开放源码的BSD许可的数学,科学和工程库。 SciPy库依赖于NumPy,它提供了便捷且快速的N维数组操作。构建SciPy库的主要原因是,它能与NumPy数组一起工作,并提供了许多用户友好和高效的数字实践,例如:数值积分和优化的例程。scipy.miscmisc 是 miscellaneous
2020-07-29 00:23:58 1744 2
原创 python: import ... 与 from ... import (深入理解本质)
以下内容摘自<<Python学习手册>>(第四版)1. import和 from是赋值语句import module1将module1整个模块对象复制给变量名module1from module1 import a将module1中的变量名a赋值给当前模块中的同名对象a需要注意的是,Python中的赋值语句,对于可变对象,是引用;对不可变对象,是赋值。在module1中, a被定义为列表[1,2] from module1 import a a[0] =
2020-07-28 22:46:55 1830
原创 Linux zip 分卷解压失败的解决方案
step1: 将分卷压缩包合并,使用下面任一命令都可以。注:在本人linux上,用cat命令开头的文件可能会出现意料之外的错误。推荐使用方法二# 合并ab.zip, ab. z01, ab.z02# 方法一cat ab.z* > full.zip# 方法二zip -s ab.zip --out full.zipstep2: 解压unzip full.zip如果解压失败,进行step3: 修复zip -FF full.zip --out ff_full.zipste
2020-07-28 17:07:49 4840
原创 Numpy, Torch,cv近日小结
最近大半个月都在进行论文3D Hand Shape and Pose from Images in the Wild的复现。因此将近日在使用Numpy, Torch, cv, 以及训练中遇到的问题小结一下。1. pytorch1.1 RuntimeError: expected dtype Double but got dtype Float首先要明确PyTorch的数据类型。FloatTensor的数据类型是torch.float32DoubleTensor的数据类型是torch.float
2020-07-28 14:40:18 1354
原创 PyTorch的Tensor与Variable的区别, detach的作用, with no_grad()
今天复现论文“3D Hand Shape and Pose from Images in the Wild”,写代码用到的一些关于PyTorch的基础知识。1. cuda()与cpu()用法: tensorA.cuda() # tensorA 是一个tensor类型的变量作用:把tensorA从CPU移动到GPU,方便后续在GPU中计算用法: modelA.cuda() # 把modelA是一个神经网络(nn.Module)作用:Moves all model parameters and b
2020-07-08 01:49:02 2241
原创 OO_SOLID原则
SPR-Single Responsibility PrincipleOCP-Open Close PrincipleLSP-Liskvo Substitution PrincipleNote : 因为对子类调用方法时可能调用的是父类的方法,对父类调用方法时调用的是子类的方法。Class BaseClass() {int cnt = 0;Queue q = new Queue&l...
2020-04-17 11:56:59 1422
原创 生产者消费者模式,观察者模式,工作者模式小结
1.生产者消费者模式设计要点是 tray生产者,消费者都要将对应的托盘对应为实例域托盘的核心是一个DataQueue,但是tray并不直接将DataQueue的add和remove方法暴露给生产者消费者,而是 通过get()和put()方法。get()和put()方法内部通过synchronized保护;内部通过while- wait - notify机制实现高效的轮流占有tr...
2020-04-08 18:59:36 1696
原创 OO多线程debug第二篇---如何定位bug
1. 输入条件的bug这周OO第二次多线程电梯作业,我这次吸取了上周的教训,周三开始动工,周四就搞定,并顺利通过本地和网站的自动测评机的正确性测评。在周四的自动化测评中找出如下bug:电梯进程的结束条件错误: 我原先定的结束条件是input进程结束并且当前电梯进程的pin和pout队列为空。但是这用做可能会漏掉最后的输入,因为当最后的输入p被添加到全局pout队列,然后input进程结束。...
2020-04-04 20:56:02 1360
原创 OO多线程debug第一篇---多线程出现bug的原因
昨天oo第五次作业,在ddl前半小时发现了一个bug,我猜到可能与sunchronized同步互斥的范围没有调整好有关系,但是通过IDEA的debug模式和JProfile的视图都没有很快找出bug。最后不出所料的话,这次的作业又将是一片红。以后OO作业一定要周二晚或者周三早上就开始,在周五中午前要完成代码。剩余的一天半用来构建测评机和debug。再说一说,我最后是用print大法找出了bug。...
2020-03-29 13:13:25 1482
原创 BUAA_LAB2_Notes
文章目录1.结构体1.1 结构体的三种定义方式1.2 typedef与define1.结构体1.1 结构体的三种定义方式// 声明结构体的标签为tagstruct tag { ... ...} var1;// 用标签定义结构体时,声明变量前要加sturctstruct var2;// 不使用标签,直接在结构体定义的后面声明变量strcut { ... ...} var...
2020-03-29 11:30:02 1748
原创 深入理解C语言中指针与数组的区别
int *a;int b[10];```c在这里插入代码片指针a可变,数组名b不可变。2.指针a在内存中占用空间,32位机器就是4字节,64位机器就是8字节(同一机器上不同类型的指针占用字节数一样);数组名b不占用空间,数组占用空间size(int) * len(b)3.对指针使用sizeof(a)得到的是指针变量的大小,对数组名使用sizeof(b)得到的是size(int) *...
2020-03-18 22:41:41 1347
原创 vim插件nerdtree && ctags && tagbar的配置
1.needtree的配置老版的安装只需要把其中一个文件放到.vim目录即可,但新版本的安装需要把整个Nerd_Tree文件夹放到.vim目录下。这里说一句,不能尽信学长的话,要在网上多查阅一些资料。2.ctags的安装Ubuntu自带老版本的ctags,但这个版本的ctags对vim是不可用的。安装新版本,并设置环境变量。在~/.bashrc下设置。export PATH=~/ctag...
2020-03-15 23:00:26 1704
原创 递归求表达式的值
递归求解波兰表达式波兰表达式(前置表达式)递归定义波兰表达式 = 一个数 | 运算符 波兰表达式 波兰表达式其中 | 表示或注:前置表达式不需要括号就可以表示优先级递归算法(Python写法)def exp(myExp) : op = myExp.pop(0) if op == "+" : return exp(myExp) + exp(myExp) ...
2020-03-05 23:03:32 1476
原创 攻略:将网上资源下载到服务器上
有时候需要将网上的资源下载到Ubuntu16.04上,可以遵循以下步骤。直接运行wget -c URL ,如果此法出现连接超时或者下载下来的文件大小只有1KB,暂时就不要折腾cookies或者proxy等等了,无数次事实经验说明,即使折腾了一天,最后往往也没有什么用。可能等以后学习了《计算机网络》,再回来深入研究一下。尝试使用curl URL若1,2都行不通,就把文件先下到本地,然后上传...
2020-02-29 16:13:11 2108
原创 输出文本的词频统计和单词位置
输⼊保证输⼊的字符中只出现以下字符:⼤⼩写字⺟'-'连接符(减号)逗号’,’句号’.’感叹号’!’(半⻆英⽂感叹号) (new!)问号’?’(半⻆英⽂问号) (new!)回⻋连接符的说明连接符 可以 出现在⼀⾏⼀个单词中间,如:post-graduate,这样算作⼀个单词(不忽略’-’,具体请看例⼦)⽽不是两个分开的单词连接符 不会 出现在单词的 第⼀个字符或最后⼀个...
2020-02-25 13:07:03 1696
原创 Java ==,和equals的区别,以及hashCode方法的本质和注意事项
文章目录1. java中的数据类型1.1 基本类型1.2 类2. Object.equals && Object.hahscode3.一般的equals方法和hashCode方法3.1两者的关系3.2方法的重写3.3Integer.hashCode和Double.hashCode4. Objects.hashCode与Objects.hash1. java中的数据类型java...
2020-02-24 20:48:11 1426
原创 代码点与代码单元详解;ASCII, unicode, utf-8等编码详解
https://github.com/acmerfight/insight_python/blob/master/Unicode_and_Character_Sets.md总结1. 简单字符集ascii是简单字符集,7bit表示;简单字符集的特点是定义了这个字符集包含什么字符,**同时把每个字符如何对应成计算机里的比特也进行了定义。**例如 ASCII,在 ASCII 里直接定义了 A -&...
2020-02-24 12:17:35 1615
翻译 GAN for Image-to-image translation 2019年文章综述
文章目录前言一篇文献的阅读姿势1. 这篇论文的创新点是什么(idea是什么)2. 这篇论文干了什么事情(idea怎么具体实现)3. 这篇论文如何分析自己的方法有效(如何设置实验)GANConditional Generative Adversarial Nets(cGAN,2014)Image-to-Image Translation with Conditional GAN(2017)Cycle...
2020-02-20 23:24:17 4954 3
原创 git常见命令与基本操作
cd切换当前目录pwd 显示当前路径mkdir 创建文件夹cat filename 显示文件内容git init 这个目录变成Git可以管理的仓库git add filename1 [filename2 …]文件添加到仓库git commit -m infor 把所有添加的文件提交到仓库git status 查看仓库当前的状态(有无文件被修改但是未提交)git...
2020-02-11 18:59:56 1409 1
原创 pytorch的索引,view和mean方法的维度问题
shape与dim方法 a = torch.randn(2,3,4)print(a)tensor([[[-1.2323, -0.5237, 0.0081, -0.7642], [ 1.2312, -1.2463, -1.2034, 1.4166], [ 1.5238, 0.1296, 0.7698, 0.4130]], [[ ...
2020-01-27 12:44:12 1871
原创 吴恩达deep learning学习笔记(2)
1.python broadcastingA.sum(axis =0) 矩阵列向量求和A.sum(axis= 1)行向量求和A.reshape(3,4).sum(axis=0)/B.reshape(1,4)A列向量求和后除以对应的BA.reshape(m,n) ±*/ B.reshape(1,n)then B.reshape(1,n) are broaden to (m,n)为了避...
2019-12-21 17:34:27 1292
原创 anaconda通过pip和conda命令安装包(详细的注意事项)
1.conda install package_name2.pip install –user package_namepip默认将Python包安装到系统目录(例如/usr/local/lib/python3.4)。这需要root访问权限。–user 在您的主目录中创建pip安装包,而不需要任何特殊权限。3.如果对版本有特殊要求,在网上下载好需要版本的whl文件后,使用pip insta...
2019-12-18 01:16:18 2456
原创 遍历某一路径下所有的文件和目录
我们使用os.walk(rootpath)遍历rootpath路径下所有的文件和目录。需要注意的一点是:对于rootpath下的每一个子目录(包括递归的子目录和根目录本身’.’),都会返回一个3-tuple (dirpath, dirnames, filenames).dirpath是递归子目录的路径,dirnames是递归子目录dirpath下所有子目录(不包括递归的子目录和根目录本身’.’)的列表,filenames是dirpath下所有的文件(不包含递归文件)。# walkpath.pyi
2019-12-16 22:15:05 1563 1
原创 coursera吴恩达deep learning学习笔记(1)
Machine learning: a computer program learns from experience E if its perfomance P at task T improves with experiecece E.supervised learning and unsupervised learningsupervised learning: a data se...
2019-12-16 00:10:45 1389
原创 直方图均衡化的数学原理
若像素点的灰度值为g, 计算出S(g), 再由公式【S255】计算出对应的新灰度。(【S255】与S的概率分布基本相同)应用: 将灰度值分布在【0,255】内,提高图像的对比度。...
2019-12-08 15:35:01 1283
原创 霍夫变换检测基本图像的原理
1.霍夫变换检测直线过原点做任意一条直线的垂线,**交于点A, 记OA为r, OA与x轴正方向所成夹角为theta,**则一条直线对应一组(r, theta) (霍夫空间)。可以推导出,对于(r,theta)对应直线上的任意一点(x,y), 都有r = xcos theta + ysin theta提取处物体的边缘,二值图(黑白图),我们现在只关心物体的边缘,即白色的像素点的集合是不是直...
2019-12-08 14:43:15 1472 1
原创 2D图像处理的基本操作
Note:以下用到卷积核的地方,最好都声明卷积核的width和height都为正奇数,否则卷积核中心与原图像中心点难以对齐,造成不对称。图像形态学操作a.膨胀:在规定的卷积核中取最大值代替原图像的中心点,目的是扩大较明亮物体的边界b.腐蚀:在规定的卷积核中取最小值代替原图像的中心点,目的是缩小较明亮物体的边界c.开运算: 先腐蚀,再膨胀。腐蚀操作去除物体边界的毛刺,膨胀操作恢复已经被腐...
2019-12-08 00:01:18 2249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人