1024两年祭溯流光 觅杳杳
Posted 囚生CY
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1024两年祭溯流光 觅杳杳相关的知识,希望对你有一定的参考价值。
目录
序言
写了整两年blog了,差不多70多篇,大部分都是原创,恰好前两年的1024节都写不出blog,拿不到CSDN的1024勋章,今年当然也没有东西可写,但是想要拿个1024勋章聊以自慰,怎么办呢?那就水一篇blog好了呀~
在笔者水文章之前,还是分享一些最近遇到的一些小tip,勉强充实一下文章内容,免得被人诟病[Facepalm]
1 PyFlann库安装时报错:ImportError: No moduler named ‘index’
最近刚好在看之前一些论文的项目代码,关于双曲空间词嵌入的那篇用到了PyFlann
库,这个库其实是FLANN
的python
接口,当前支持python2
和python3
,FLANN
的意思是Fast Library for Approximate Nearest Neighbors,主要是用于解决邻近点搜索问题的库;简单使用pip
安装即可👇
pip install pyflann
笔者使用的是python3.6.3
,之后导入pyflann
就会报错👇
ImportError: No moduler named 'index'
这个问题的原因不是缺少index
模块,而是这个库原本是写给python2
使用的,python3使用需要用2to3
脚本转换一下,WIN10系统找到python
安装目录下的/Tools/scripts
目录,可以看到2to3.py
脚本,打开命令行输入👇
python 2to3.py -w [pyflann包路径]
一般来说安装位置在python
安装目录下的/Lib/site-packages/pyflann
目录中,于是写成如下即可👇
python 2to3.py -w E:/python36/Lib/site-packages/pyflann
Linux系统中一般在安装python
时2to3
已经是写在Path
中的命令了,直接用2to3
命令即可([pyflann包路径]改成自己的路径)👇
2to3 -w ../python36/Lib/site-packages/pyflann
转换完成后此时E:/python36/Lib/site-packages/pyflann
下会多出一些bak
文件,那些是备份文件,方便你以后再转回到python2
版本,不用管它,此时已经可以正常导入pyflann
了。
2 markdown公式编写中的易忘点
- 所有的箭头符号
\\uparrow ↑
\\downarrow ↓
\\Uparrow ⇑
\\Downarrow ⇓
\\updownarrow ↕
\\Updownarrow ⇕
\\rightarrow →
\\leftarrow ←
\\Rightarrow ⇒
\\Leftarrow ⇐
\\leftrightarrow ↔
\\Leftrightarrow ⇔
\\longrightarrow ⟶
\\longleftarrow ⟵
\\Longrightarrow ⟹
\\Longleftarrow ⟸
\\longleftrightarrow ⟷
\\Longleftrightarrow ⟺
\\mapsto ↦
\\longmapsto ⟼
\\hookleftarrow ↩
\\hookrightarrow ↪
\\leftharpoonup ↼
\\rightharpoonup ⇀
\\leftharpoondown ↽
\\rightharpoondown ⇁
\\rightleftharpoons ⇌
\\leadsto ⇝
\\nearrow ↗
\\searrow ↘
\\swarrow ↙
\\nwarrow ↖
\\nleftarrow ↚
\\nrightarrow ↛
\\nLeftarrow ⇍
\\nRightarrow ⇏
\\nleftrightarrow ↮
\\nLeftrightarrow ⇎
\\dashrightarrow ⇢
\\dashleftarrow ⇠
\\leftleftarrows ⇇
\\leftrightarrows ⇆
\\Lleftarrow ⇚
\\twoheadleftarrow ↞
\\leftarrowtail ↢
\\looparrowleft ↫
\\leftrightharpoons ⇋
\\curvearrowleft ↶
\\circlearrowleft ↺
\\Lsh ↰
\\upuparrows ⇈
\\upharpoonleft ↿
\\downharpoonleft ⇃
\\multimap ⊸
\\leftrightsquigarrow ↭
\\rightrightarrows ⇉
\\rightleftarrows ⇄
\\rightrightarrows ⇉
\\rightleftarrows ⇄
\\twoheadrightarrow ↠
\\rightarrowtail ↣
\\looparrowright ↬
\\rightleftharpoons ⇌
\\curvearrowright ↷
\\circlearrowright ↻
\\Rsh ↱
\\downdownarrows ⇊
\\upharpoonright ↾
\\downharpoonright ⇂
\\rightsquigarrow ⇝
- 特殊的上下标及比较少用的数学符号
\\dot X 字母正上方一个点(一般来说也用于表示求导)
X^\\prime 求导符号
\\overline X 字母上方一横(一般用于表示均值)
\\overbrace abc 多个字母正上方用个开口朝下的花括号包起来
\\overset\\frown abc 多个字母上方用一个开口朝下的小括号包起来(这个有好多写法, 但是笔者测试下来CSDN的markdown只支持\\overset\\frown写法, latex里也能写成\\overarc)
\\coprod 倒写的\\prod符号(大写的Π倒过来), 好像是上积的意思, 也不知道确切是什么意义
\\oint 积分号中间画个圈(一般用于表示曲线曲面积分)
\\bigcap 大交集运算符
\\bigcup 大并集运算符
- 易混点
无穷符号是 \\infty 而非 \\inf 或是 \\infinity
Ω和ω符号是 \\Omega 和 \\omega 而非 \\Omiga 和 \\omiga
包含与真包含符号分别是 \\subseteq 和 \\subset 后者好记 前者总是忘记是在后者基础上怎么改 被包含则是\\supset
区别\\cap 和 \\bigcap 以及 \\cup 和 \\bigcup
主要是最近写markdown公式的机会比较频繁,基本上都是在notepad++
里盲写,全写完再传到编译器里看效果,有时候会发现编译错误,或者是遇到一些罕用的数学符号写不出来,总是去查太费时间了。
差不多就这样了,笔者要开始水blog了。
A Summary for a Nobody
无从水起,那就以自己的70篇blog为线索,作为一个小白,做个简单的梳理好了。
笔者从高三才开始有学习计算机的念头,然而零基础并没有能够留在当时高中学效里自办的大学先修课程班里,还记得第一节先修课程老师问大家会C++吗,会C也行,然后就笔者和室友两眼懵逼,原来其他人都是有信息学竞赛基础才来的,像笔者和室友这种只是单纯有兴趣来的傻瓜似乎并不多见,然后第一节课只留下了小本本上的一串C++代码,坚信自己将来一定会用到这段代码,便仓皇离去。
虽然后来并没有选择计算机作为自己的专业,但是所学专业与计算机也算是紧密联系的,前两年里相继学习了C++ Java Python等主流语言以及R MATLAB SQL等数据分析语言,直到三年前暑假,在仔细钻研了雪球网的数据爬虫后,9月20日,笔者写下了第一篇blog 1.【项目记录】雪球网股票组合数据爬虫(包括雪球模拟登录代码),当时笔者自以为对雪球网已经了如指掌,因此觉得有必要把自己的成果展示出来,现在回看确实还是太小儿科了,很多写法都很幼稚,不过从结果上看起来也算是这70篇blog里处于中上的一篇了。
写完第一篇blog笔者很快发现自己的blog并没有人看的现实,于是写了个 2. 补档 给自己的博客刷刷访问量。这篇blog后续经过多次整改以适应CSDN的改版,今年意外被管理员封禁,后来补了个档,虽然丢了一些积分但是把当时的评论收藏点赞数据都留下来了,不幸中之万幸。
恰逢十月全国大学生数学建模大赛答辩,结果差强人意,于是那天答辩完从复旦回来就在国际贸易课上写下了 3.【项目总结】2018年全国大学生数学建模大赛B题简要分析(附代码) ,因为写得很匆忙其实逻辑有点紊乱,但是现在看来三年里好像大家对这篇blog是最感兴趣的,很多人留了邮箱,但是笔者换了笔记本后很多数据不太方便再找了,而且实话说三天时间做出的结果并没有太大的参考意义,就和考场作文一样,品次并不是那么高的,只是运气好在诸多队伍中被评委主观相中而已,也没有什么特别值得称道的。
数模结束后,重点开始转移到机器学习课程上,在当时的老师涂文婷(现在也是院里最年轻的副教授,不到30岁就评上确实惊艳)和肖生升的悉心教导下,对这个领域有所入门,这段时期中主要是以python的sklearn包以及R语言包的学习为主,写下了 4.【知识补充】利用sklearn绘制机器学习模型评估P-R曲线图像(附代码),5. 【项目小结】大规模数据(含缺失值)在机器学习中的处理及训练小结(基于python)和 6. 【问题解决】Error in if (nrow(object$splits) > 0) : argument is of length zero(R语言使用boosting函数进行集成学习时),第5篇其实是期末项目的一部分,当时还为跟另外两个partner(hy和dyt)一起想到做数据缺失的黑白像素图来判断如何进行特征划分的方法吹嘘了好久,其实给老师评价都是废操作[Facepalm],实在是丢人。到机器学习课程快结束以及文本挖掘课上开始有接触深度学习的知识,于是在安装tensorflow-gpu的路上吃了一些坑,写了个 7. 【安装教程】python3.6安装Tensorflow-GPU路上的那些坑(WIN10)备查,并且在文本挖掘的期末写下了8.【日常】自然语言处理小结作为总结,其实是套用了当时kaggle上的一个大佬的kernel改了改,主要还是把方法总结一下。
这段时间内因为一直在用第2篇的脚本刷访问量,中途出现了一些问题,比如夜间校园网连接波动导致断网,以及对脚本刷量的速度不满(CSDN要每隔一分多钟才能增加一次有效访问),写了9. 【日常】利用python保持WLAN持续连接(实时监测,即断即连) 和 10. 【日常】利用代理IP伪装进行多进程爬虫 ,11.
【自定义模块】从西刺免费代理获取IP列表
来解决这些问题,事实上当时刷的速度已经非常快了,如果同时刷四篇博客,基本上可以做到一分钟能上到三四十次访问,不过现在西刺免费代理已经挂了,这种方法已经不能再奏效了,唉,这年头免费的东西总是不能长久的,劣币驱逐良币,无可奈何。当时因为多进程爬虫的稳定可行,顺带把第1篇blog的代码给改进增强作了最终完结,记录在12. 【项目总结】雪球爬虫完结(附Snowball模块代码)。
2018年末,计赛正式报名,一个历程长达近一年,实际前后占用超过1/4的本科历程的智能投顾小信项目正式开始,从后来的结果看不尽人意,但仍然不影响这是一场对笔者很有意义的经历,这段时期内合作的两个partner(wk和yy)都成为了后来很重要的伙伴。13. 【问题解决】关于爬虫被封的处理方法(同花顺数据获取问题),14. 【项目总结】近期爬虫详解(MBA智库百科词条爬虫&同花顺财经数据爬虫),15. 【问题解决】python3.6 安装theano配置GPU(雾),16.【问题解决】微信小程序对话中输出文字不换行,17. 【问题解决】Selenium——NoSuchWindowException: Browsing context has been discarded,18. 【项目总结】中国大学生计算机设计(机械制造暨政治正确)大赛都是这段时期实际项目中的问题记录。
记得第16篇所作时间差不多是市赛结束,那时候少许空闲,给自己写了个可以调用的Google翻译接口19. 【日常】Google翻译接口编写用来做批量翻译任务,然后老妈当时升职称要写论文,还专门给她写了个查知网论文的微信接口20. 【日常】写给妈妈的微信机器人(用于知网论文下载),还忙里偷闲地做了一下一直很感兴趣的B站爬虫21. 【日常】某B视频网站模拟登录尝试,因为一直想知道那种带拼图的滑动验证码应该怎么处理,后续在吉林大学参加计赛国赛时还在宾馆里偷空写了22. 【项目小结】某B视频网站的爬虫实践,或许笔者不写这篇blog能有个更好的结果(?也许吧哈哈)。
在这段时间内仍然在上深度学习的课程,两次作业23. 【日常】手写三层反向传播神经网络(损失函数交叉熵+正则项+反向求导)和24. 【日常】手写卷积神经网络(conv+relu+maxpooling+linear+relu+linear+softmax+交叉熵损失+正则)也记了下来,现在让笔者再手写神经网络还真不一定能写得出来了[Facepalm],深度学习的期末项目与lyt和jjh合作,选择了ACM Recsys2019的一个推荐系统竞赛,一些预先的论文阅读25.【学习笔记】1707.07435基于深度学习的推荐系统:调查与新视角(中文提纲),以及最终提交的报告26. 【项目总结】ACM Recsys2019都是这段时间的产物,事实上后来我们只做出了比baseline稍高一些的结果,但是考虑到评价指标MRR的特殊性,其实我们相当于还是把baseline给提升了一个量级,也算差强人意吧。
第18篇博客宣告计赛彻底结束,笔者进入了一段极其低谷的时期,连续很长时间没有写blog,因为在刷题准备考研,那段时间并不想再多提,保研之后写了一篇回归文27. 【回归】闲来小憩信手拈详细谈了这段空窗期的事情,做了一些思考,渐渐地在2019年后半段事情逐渐开始顺利了起来,因为保研的缘故,有了很多的空闲时间,而且留校做全职助管的待遇也非常好,笔者来到了一个非常难得的上升期。
保研后的一段时间里开始学习前端技术28. 【问题解决】前端学习踩坑记录,并且将学到的知识应用在了助管工作中,协助中国知网的一个项目经理解决了他们开发的课程作业系统里的小BUG 29. 【日常】浅谈项目经理与研发间的“代沟”,当时还沾沾自喜了一阵子(哈哈),将B站登录的问题做了一个完结(因为后来B站的登陆验证换成了三代的Geetest,之前处理滑动验证码的逻辑不好用了)30. 【日常】Geetest滑动验证码(三代canvas版)处理小结(以B站登录验证为例),搞了个爬虫把站长素材网上的免费模板都拉下来 31.【日常】python站长素材网免费模板下载(以PPT模板为例),此外还有一些零碎的问题解决32. 【日常&问题解决】如何处理部分带有十六进制(以UTF-8编码为例)的文本转化处理和33. 【日常】如何处理“火星文”乱码,都是些很小的细节问题,只是经常遇到不会解决就很头大。
特别地,在担任全职助管的经历中,有幸以学生领队的身份带领本校的学生参加复旦的通识游学课程,那确实是一段五味杂陈的故事,不管怎么说,对笔者来说是仍然很宝贵的一次经历,认识了很多人,参加了很多活动,虽然结局不堪回首,但是对笔者来说毕竟就是一次带薪出游,至少整体上来看玩得还算比较快乐,即便过程中有很多时间都很痛苦不甘。34. 【项目完结】笑靥如春三冬暖,嫣语似晴沉霾散。西子湖畔梦犹然,情起缘尽余心安。给这一切画上了句号,把事情还是想得过于简单,心安?永远也安不得了罢。2019年12月31日跨年那晚,笔者跟妈妈说自己觉得这一年是最满意的一年,拿回了很多本属于自己的东西,但是实话说快毕业时总觉得自己还有很多事情没有做,说是遗憾不如说是胆怯,但是真正鼓起勇气去做了也不过是黄粱一梦,才认识到自己的弱小,也只能无奈退场。
虽然失败了,但是毕业论文还是要做的。笔者其实很看重毕业论文,因为这是很难得的一次大家各凭本事来一较高低的机会,以前的作业项目你可以蹭车,现在不行了,完全就是个人能力的正面硬刚。有幸接到王英林的邀请,完成他的GEC设计,笔者想教授都找上门了,拒绝了恐怕不是很好,而且GEC是从未涉及过的领域,但试无妨。于是写下了35. 【项目小结】英语语法错误检测(GEC)开题论文阅读记录,36. 【论文阅读】D19-1435——GEC问题解决的一种方法:PIE架构,37. 【论文阅读】D18-1274——GEC模型优化的一种方法:使用质量评估模型,38. 【论文阅读】W19-4423——预训练与迁移学习在GEC的应用等多篇论文阅读记录,包括在后期实现中遇到的问题,39. 【坑】python新建二维列表的一个小坑,40. 【问题解决】BERT模型使用及一个问题:NotFoundError: Key bert_1/embeddings/LayerNorm/beta not found in checkpoint,41. 【项目小结】GEC模型中的难点:分词(Tokenizer)与回译(Backtranslation),42. 【项目小结】python读取arpa数据文件(arpa库使用),43. 【项目小结】训练BERT模型加入到深度学习网络层中——keras_bert库使用填坑指南,44. 【项目小结】GEC模型训练&评估TRICK——自定义损失函数&预校正模型(autocorrect包)都做了一一记录,最终答辩拿到95分,是同届全院也是全校的最高分,给本科生涯画上了个看起来还算圆的小句号。
这段时间其实很长了,2019年10月底到2020年5月跨了有大半年,把事件线放回到2020年1月寒假回家,刚从之前通识游学的失落中解脱出来,开始撰写自己的线上日记45.【置顶】囚生CYのPOST(NEW VERSION),有种百废待兴的感觉,想要做一番事情,但是就是想搞点小东西,跑去看了看音乐网站的逻辑,意外发现很多音乐都可以通过一些并不复杂的办法免费下载下来,46. 【日常】NaN,47. 【附件】页面源代码,48. 【Daily】Interested Bug in NetEase Online,看起来很奇怪是因为当时这篇blog发不出来,CSDN以涉及版权偷窃的因素给和谐了,笔者后来抽时间整合了一下,写了个抓取QQ,酷狗,酷我,网易云的音乐文件的脚本49. 【Share & Backup】FreeCrawl,怕和谐不敢太招摇,所以标题就很奇怪。
此后到二月底疫情回不了学校,被迫接受远程实习,不过这段实习确实学到不少东西,主要是spark的知识:50. 【项目小结】近期pandas使用细节及技巧盘点,51.【项目总结】NewStart——PySpark学习笔记,52. 【日常】PySpark包DataFrame相关处理小结,53. 【转载】什么是隐写技术?(Kaggle近期竞赛ALASKA2 Image Steganalysis),54. 【日常】PySpark踩坑记,55. 【日常】轻松一刻:python传参还能这么写,实话说pyspark实在不是什么好东西,能避开尽量还是用java的spark接口,python强行要接入spark接口实在是有点坑。
时间线再重新拉回到今年五月底论文答辩结束,临近毕业有很多材料整理,于是学了一下PyPDF2的使用56. 【日常】从批量合并 PDF 到 PyPDF2 的使用,实话说这个库还真的挺好用。毕业回家后开始整活,先是把之前寒假的遗留问题建行云宠物脚本给写完57. 【日常】CCB网上银行“云宠物”喂食自动化脚本,然后突然心血来潮开始写拳皇脚本58. 【日常】python脚本系列:拳皇13一键出招以及连段实现,再到后来yy来问笔者百度指数爬虫的事情,顺手也给办了一篇59. 【项目小结】爬虫学习进阶:获取百度指数历史数据,八月初实习IPM项目接近尾声,事情变少于是开始为接下来软工的学习做准备,先后把Linux以及之后研究方向的文章看了一下:60. 【学习笔记】兄弟连Linux教程摘要,61. 【论文阅读】自然语言生成(NLG)——基于plan思想的Data2Text任务实现,62. 【论文阅读】基于层级关系的词向量:双曲空间词嵌入
此时已经过渡到开学,高级软件工程的压力迫使笔者去学习springboot,这段时间以学习笔记为主,做了一些入门教程性质的blog:63. 【学习笔记】从零开始的SpringBoot新手教程(WIN10+JDK9+STS4),64. 【学习笔记】雷丰阳SpringBoot教程摘要,65. 【学习笔记】ElasticSearch7入门教程。特别值得一提的是在第65篇中笔者第一次认识狂神说这个长我一岁的大佬,这个又狂又有实力的同龄人让我眼前一亮,似乎让我看到了平淡人生的一丝乐趣,人可以活得很潇洒,又管别人怎么评论呢?
此外就是近期一些论文阅读和课程学习过程中的总结:66. 【日常】DES加密算法python实现_以密码编码学与网络安全——原理与实践(第六版)课后习题3.11为例,67. 【学习笔记】市场机制设计,68. 【日常】关于爬虫中iframe节点处理小结(以超星课件下载为例),69. 【论文阅读】查询搜索中的安全和效率权衡(ACM 10.1145),70. 【论文阅读】文档级别实体关系挖掘,其中67和69仍在更新中,前者将更新至课程结束,后者主要更新一些对论文的理解备注信息。
结语
写到这里其实花了不少时间,今天是周六,上海的天气非常好,昨晚刚突破极限用50分钟不到跑了个25圈10公里,现在腿一点都不酸,手头事情很多,看起来本是个拼命的好日子,但是就是想浪费时间写点废话,人就是种奇怪的动物唉。
1024勋章拿过来吧~
以上是关于1024两年祭溯流光 觅杳杳的主要内容,如果未能解决你的问题,请参考以下文章