如何退出kaggle比赛 代码汇总赛

&figure&&img src=&https://pic4.zhimg.com/v2-1a9c65dcfe935fcfa0a95_b.jpg& data-rawwidth=&900& data-rawheight=&500& class=&origin_image zh-lightbox-thumb& width=&900& data-original=&https://pic4.zhimg.com/v2-1a9c65dcfe935fcfa0a95_r.jpg&&&/figure&&p&&b&开始的话:&/b&文章是实验楼投稿文章,文章有大量的Python项目,所以对Python感兴趣的可以看看。&/p&&p&---------------------------------------------&/p&&p&&b&前言:&/b&&/p&&p&不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言一定要做项目才行。&/p&&p&这里整理了70个Python实战项目列表,都有完整且详细的教程,你可以从中选择自己想做的项目进行参考学习练手,你也可以从中寻找灵感去做自己的项目。&/p&&p&&b&70个Python项目列表:&/b&&/p&&p&1、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/370& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 图片转字符画】&/a&&/p&&p&2、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/368& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【200行Python代码实现2048】&/a&&/p&&p&3、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/623& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python3 实现火车票查询工具】&/a&&/p&&p&4、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/599& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【高德API+Python解决租房问题 】&/a&&/p&&p&5、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/589& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python3 色情图片识别】&/a&&/p&&p&6、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/364& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 破解验证码】&/a&&/p&&p&7、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/552& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现简单的Web服务器】&/a&&/p&&p&8、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/49& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【pygame开发打飞机游戏】&/a&&/p&&p&9、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/487& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Django 搭建简易博客】&/a&&/p&&p&10、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/677& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python基于共现提取《釜山行》人物关系】&/a&&/p&&p&11、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/142& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【基于scrapy爬虫的天气数据采集(python)】&/a&&/p&&p&12、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/31& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Flask 开发轻博客】&/a&&/p&&p&13、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/651& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python3 图片隐写术】&/a&&/p&&p&14、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/647& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 实现简易 Shell】&/a&&/p&&p&15、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/729& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【使用 Python 解数学方程】&/a&&/p&&p&16、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/705& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【PyQt 实现简易浏览器】&/a&&/p&&p&17、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/593& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【神经网络实现手写字符识别系统 】&/a&&/p&&p&18、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/674& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 实现简单画板】&/a&&/p&&p&19、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/561& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现3D建模工具】&/a&&/p&&p&20、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/782& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【NBA常规赛结果预测——利用Python进行比赛数据分析】&/a&&/p&&p&21、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/707& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【神经网络实现人脸识别任务】&/a&&/p&&p&22、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/70& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python文本解析器】&/a&&/p&&p&23、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/637& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python3 & OpenCV 视频转字符动画】&/a&&/p&&p&24、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/595& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python3 实现淘女郎照片爬虫 】&/a&&/p&&p&25、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/725& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python3实现简单的FTP认证服务器】&/a&&/p&&p&26、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/633& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【基于 Flask 与 MySQL 实现番剧推荐系统】&/a&&/p&&p&27、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/495& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 实现端口扫描器】&/a&&/p&&p&28、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/580& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【使用 Python 3 编写系列实用脚本】&/a&&/p&&p&29、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/769& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 实现康威生命游戏】&/a&&/p&&p&30、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/686& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【川普撞脸希拉里(基于 OpenCV 的面部特征交换) 】&/a&&/p&&p&31、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/708& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 3 实现 Markdown 解析器】&/a&&/p&&p&32、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/780& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 气象数据分析 -- 《Python 数据分析实战》】&/a&&/p&&p&33、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/614& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现键值数据库】&/a&&/p&&p&34、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/777& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【k-近邻算法实现手写数字识别系统】&/a&&/p&&p&35、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/714& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【ebay在线拍卖数据分析】&/a&&/p&&p&36、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/741& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 实现英文新闻摘要自动提取 】&/a&&/p&&p&37、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/672& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现简易局域网视频聊天工具】&/a&&/p&&p&38、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/581& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【基于 Flask 及爬虫实现微信娱乐机器人】&/a&&/p&&p&39、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/554& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现Python解释器】&/a&&/p&&p&40、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/683& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python3基于Scapy实现DDos】&/a&&/p&&p&41、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/712& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 实现密码强度检测器】&/a&&/p&&p&42、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/814& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【使用 Python 实现深度神经网络】&/a&&/p&&p&43、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/791& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现从excel读取数据并绘制成精美图像】&/a&&/p&&p&44、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/746& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【人机对战初体验:Python基于Pygame实现四子棋游戏】&/a&&/p&&p&45、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/594& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python3 实现可控制肉鸡的反向Shell】&/a&&/p&&p&46、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/761& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python打造漏洞扫描器 】&/a&&/p&&p&47、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/678& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python应用马尔可夫链算法实现随机文本生成】&/a&&/p&&p&48、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/728& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【数独游戏的Python实现与破解】&/a&&/p&&p&49、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/756& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【使用Python定制词云】&/a&&/p&&p&50、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/60& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python开发简单计算器】&/a&&/p&&p&51、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/579& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 实现 FTP 弱口令扫描器】&/a&&/p&&p&52、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/734& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现Huffman编码解压缩文件】&/a&&/p&&p&53、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/636& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现Zip文件的暴力破解 】&/a&&/p&&p&54、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/655& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python3 智能裁切图片】&/a&&/p&&p&55、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/640& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现网站模拟登陆】&/a&&/p&&p&56、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/813& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【给Python3爬虫做一个界面.妹子图网实战】&/a&&/p&&p&57、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/673& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 3 实现图片转彩色字符】&/a&&/p&&p&58、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/679& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【自联想器的 Python 实现】&/a&&/p&&p&59、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/688& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 实现简单滤镜】&/a&&/p&&p&60、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/81& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Flask 实现简单聊天室】&/a&&/p&&p&61、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/604& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【基于PyQt5 实现地图中定位相片拍摄位置】&/a&&/p&&p&62、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/583& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现模板引擎】&/a&&/p&&p&63、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/776& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现遗传算法求解n-queens问题】&/a&&/p&&p&64、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/625& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python3 实现命令行动态进度条】&/a&&/p&&p&65、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/639& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 获取挂号信息并邮件通知】&/a&&/p&&p&66、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/778& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python实现java web项目远端自动化更新部署】&/a&&/p&&p&67、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/789& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【使用 Python3 编写 Github 自动周报生成器】&/a&&/p&&p&68、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/384& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【使用 Python 生成分形图片】&/a&&/p&&p&69、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/518& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 实现 Redis 异步客户端】&/a&&/p&&p&70、&a href=&http://link.zhihu.com/?target=https%3A//www.shiyanlou.com/courses/828& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&【Python 实现中文错别字高亮系统】&/a&&/p&&p&&b&最后:&/b&&/p&&p&以上项目列表希望可以给你在Python学习中带来帮助~&/p&
开始的话:文章是实验楼投稿文章,文章有大量的Python项目,所以对Python感兴趣的可以看看。---------------------------------------------前言:不管学习哪门语言都希望能做出实际的东西来,这个实际的东西当然就是项目啦,不用多说大家都知道学编程语言…
&p&&b&1、自己动手写个Web Server 图文结合,作者非常幽默风趣&/b&&/p&&a href=&//link.zhihu.com/?target=http%3A//ruslanspivak.com/lsbaws-part1/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Web Server. Part 1&i class=&icon-external&&&/i&&/a&&a href=&//link.zhihu.com/?target=http%3A//ruslanspivak.com/lsbaws-part2/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Web Server. Part 2&i class=&icon-external&&&/i&&/a&&a href=&//link.zhihu.com/?target=http%3A//ruslanspivak.com/lsbaws-part3/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Web Server. Part 3&i class=&icon-external&&&/i&&/a&&figure&&img src=&https://pic2.zhimg.com/v2-1fd5f7a31ecbbe71fc7509_b.png& data-rawwidth=&1024& data-rawheight=&499& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&https://pic2.zhimg.com/v2-1fd5f7a31ecbbe71fc7509_r.png&&&/figure&&br&&p&看英文吃力的看翻译版&/p&&blockquote&&a href=&//link.zhihu.com/?target=http%3A//codingpy.com/article/build-a-simple-web-server-part-one/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&自己动手开发网络服务器(一)&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//codingpy.com/article/build-a-simple-web-server-part-two/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&自己动手开发网络服务器(二)&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//codingpy.com/article/build-a-simple-web-server-part-three/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&自己动手开发网络服务器(三)&i class=&icon-external&&&/i&&/a&&/blockquote&&p&&b&2、自己动手写个解释器,依然是楼上这位高产作者&/b&&/p&&blockquote&&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part1/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 1.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part2/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 2.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part3/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 3.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part4/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 4.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part5/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 5.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part6/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 6.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part7/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 7.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part8/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 8.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part9/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 9.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part10/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 10.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part11/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 11.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part12/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 12.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part13/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 13.&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=https%3A//ruslanspivak.com/lsbasi-part14/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Let’s Build A Simple Interpreter. Part 14.&i class=&icon-external&&&/i&&/a&&/blockquote&&p&照样有人翻译了&/p&&blockquote&《&a href=&//link.zhihu.com/?target=http%3A//blog.jobbole.com/88152/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一起来写个简单的解释器(1)&i class=&icon-external&&&/i&&/a&》
《&a href=&//link.zhihu.com/?target=http%3A//blog.jobbole.com/88347/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一起来写个简单的解释器(2)&i class=&icon-external&&&/i&&/a&》
《&a href=&//link.zhihu.com/?target=http%3A//blog.jobbole.com/90055/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一起来写个简单的解释器(3)&i class=&icon-external&&&/i&&/a&》
《&a href=&//link.zhihu.com/?target=http%3A//blog.jobbole.com/94326/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一起来写个简单的解释器(4)&i class=&icon-external&&&/i&&/a&》
《&a href=&//link.zhihu.com/?target=http%3A//blog.jobbole.com/94686/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一起来写个简单的解释器(5)&i class=&icon-external&&&/i&&/a&》
《&a href=&//link.zhihu.com/?target=http%3A//blog.jobbole.com/95145/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一起来写个简单的解释器(6)&i class=&icon-external&&&/i&&/a&》
《&a href=&//link.zhihu.com/?target=http%3A//blog.jobbole.com/95145/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一起来写个简单的解释器(7)&i class=&icon-external&&&/i&&/a&》
《&a href=&//link.zhihu.com/?target=http%3A//blog.jobbole.com/95145/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&一起来写个简单的解释器(8)&i class=&icon-external&&&/i&&/a&》&/blockquote&&p&烂尾了.....,还是硬着头皮去看原文吧&/p&&p&&b&3、如果觉得上面的太难,来个简单了,写个Django博客&/b&&/p&&blockquote&&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/2/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Django 博客教程:前言&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/3/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&1 - 搭建开发环境&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/4/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&2 - 建立 Django 博客应用&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/5/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&3 - 创建 Django 博客的数据库模型&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/6/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&4 - 让 Django 完成翻译:迁移数据库&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/7/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&5 - Django 博客首页视图&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/8/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&6 - 真正的 Django 博客首页视图&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/9/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&7 - 在 Django Admin 后台发布文章&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/10/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&8 - 博客文章详情页&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/11/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&9 - 支持 Markdown 语法和代码高亮&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/12/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&10 - 页面侧边栏:使用自定义模板标签&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/13/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&11 - 分类与归档&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/14/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&12 - 评论&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/16/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&13 - 已知小问题修正&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/20/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&14 - 使用 Nginx 和 Gunicorn 部署 Django 博客&i class=&icon-external&&&/i&&/a&
&a href=&//link.zhihu.com/?target=http%3A//zmrenwu.com/post/21/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&15 - 使用 Fabric 自动化部署&i class=&icon-external&&&/i&&/a&&/blockquote&&p&&b&4、如果以上都觉得太无趣,写个爬虫获取能激发你的学习动力,爬网上的在线教程做成电子书&/b&&/p&&a href=&//link.zhihu.com/?target=https%3A//foofish.net/python-crawler-html2pdf.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&foofish.net/python-craw&/span&&span class=&invisible&&ler-html2pdf.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&figure&&img src=&https://pic3.zhimg.com/v2-c269a8a5312a_b.png& data-rawwidth=&708& data-rawheight=&518& class=&origin_image zh-lightbox-thumb& width=&708& data-original=&https://pic3.zhimg.com/v2-c269a8a5312a_r.png&&&/figure&&br&&p&&b&5、大家都喜欢玩微信,如果用Python来微信,搞个机器人调戏一下妹纸什么的更有意思&/b&&/p&&p&&a href=&//link.zhihu.com/?target=http%3A//wxpy.readthedocs.io/zh/latest/index.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&wxpy: 用 Python 玩微信&i class=&icon-external&&&/i&&/a&,可能是最优雅的微信个人号 API&/p&&figure&&img src=&https://pic4.zhimg.com/v2-bc52af27d05da9bc50c3_b.png& data-rawwidth=&750& data-rawheight=&1334& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&https://pic4.zhimg.com/v2-bc52af27d05da9bc50c3_r.png&&&/figure&&br&&p&图片来源:&a href=&//link.zhihu.com/?target=https%3A//github.com/biezhi/wechat-robot& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&biezhi/wechat-robot&i class=&icon-external&&&/i&&/a&&/p&
1、自己动手写个Web Server 图文结合,作者非常幽默风趣 看英文吃力的看翻译版
&p&个人推荐看 Kenneth Reitz 大神的成名之作 Requests,感受一下什么是真正的Pythonic代码,什么是 Keep It Simple and Stupid&/p&&p&有网友已经整理了一份Requests源码阅读清单,内容幽默诙谐有趣,推荐看一看&/p&&ul&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/wangshunping/read_requests/blob/master/doc/Requests_v0.2.0.md& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Requests v0.2.0 Birth!&i class=&icon-external&&&/i&&/a& &/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/wangshunping/read_requests/blob/master/doc/Requests_v0.3.0.md& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Requests v0.3.0 Be frinendly&i class=&icon-external&&&/i&&/a& &/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/wangshunping/read_requests/blob/master/doc/Requests_v0.4.0.md& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Requests v0.4.0 Amazing tour &i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/wangshunping/read_requests/blob/master/doc/Requests_v0.5.0.md& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Requests v0.5.0 Context Manager &i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/wangshunping/read_requests/blob/master/doc/Requests_v0.6.0.md& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Reuqests v0.6.0 Captain Hook! &i class=&icon-external&&&/i&&/a&&/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/wangshunping/read_requests/blob/master/doc/Requests_v0.7.0.md& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Reuqests v0.7.0 awesome gevent&i class=&icon-external&&&/i&&/a& &/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/wangshunping/read_requests/blob/master/doc/Requests_v0.8.0.md& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Reuqests v0.8.0 &i class=&icon-external&&&/i&&/a&2016-03-??&/li&&/ul&&p&還有老外分享的一個PPT,手把手教你如何阅读源码,也是拿Requests作为参考例子 &a href=&//link.zhihu.com/?target=https%3A//www.slideshare.net/onceuponatimeforever/lets-read-code& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&slideshare.net/onceupon&/span&&span class=&invisible&&atimeforever/lets-read-code&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a& ,没有梯子的在这里下载 &a href=&//link.zhihu.com/?target=https%3A//pan.baidu.com/s/1i5ggKjr& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&pan.baidu.com/s/1i5ggKj&/span&&span class=&invisible&&r&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/p&&p&下面是Kenneth Reitz大神自己推薦的源碼閱讀清單,來源:&a href=&//link.zhihu.com/?target=http%3A//python-guide-pt-br.readthedocs.io/en/latest/writing/reading/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Reading Great Code&i class=&icon-external&&&/i&&/a&&/p&&ul&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/gleitz/howdoi& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Howdoi&i class=&icon-external&&&/i&&/a& Howdoi is a code search tool, written in Python&/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/mitsuhiko/flask& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Flask&i class=&icon-external&&&/i&&/a& Flask is a microframework for Python based on Werkzeug and Jinja2. It’s intended for getting started very quickly and was developed with best intentions in mind.&/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/python-diamond/Diamond& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Diamond&i class=&icon-external&&&/i&&/a& Diamond is a python daemon that collects metrics and publishes them to Graphite or other backends. It is capable of collecting cpu, memory, network, i/o, load and disk metrics. Additionally, it features an API for implementing custom collectors for gathering metrics from almost any source.&/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/mitsuhiko/werkzeug& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Werkzeug&i class=&icon-external&&&/i&&/a& Werkzeug started as simple collection of various utilities for WSGI applications and has become one of the most advanced WSGI utility modules. It includes a powerful debugger, full-featured request and response objects, HTTP utilities to handle entity tags, cache control headers, HTTP dates, cookie handling, file uploads, a powerful URL routing system and a bunch of community-contributed addon modules.&/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/kennethreitz/requests& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Requests&i class=&icon-external&&&/i&&/a& Requests is an Apache2 Licensed HTTP library, written in Python, for human beings.&/li&&li&&a href=&//link.zhihu.com/?target=https%3A//github.com/kennethreitz/tablib& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Tablib&i class=&icon-external&&&/i&&/a& Tablib is a format-agnostic tabular dataset library, written in Python.&/li&&/ul&
个人推荐看 Kenneth Reitz 大神的成名之作 Requests,感受一下什么是真正的Pythonic代码,什么是 Keep It Simple and Stupid有网友已经整理了一份Requests源码阅读清单,内容幽默诙谐有趣,推荐看一看
更新:兄弟们如此给力,小弟受宠若惊,好东西就是用来分享的。 500 line or less只是某个系列丛书中第四本,其他三本链接:&br&&a href=&//link.zhihu.com/?target=http%3A//www.aosabook.org/en/index.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&aosabook.org/en/index.h&/span&&span class=&invisible&&tml&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&可以在线看哦&br&前两本每章介绍出名开源软件的架构,你说的上名字的开源基本上都能找到,短小精悍的介绍框架&br&第三本介绍开源软件中实际遇到的一些performance的问题以及解决方案,同样浓缩啊!! 每章的作者大多就是此开软软件的开发者啊!!!&br&不用多说,点开你就知道啊&br&不想看英文的怒点 &a href=&//link.zhihu.com/?target=http%3A//www.ituring.com.cn/article/13057& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&ituring.com.cn/article/&/span&&span class=&invisible&&13057&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&前两卷的中文版,不知道翻译的怎么样&br&&br&----------------------------------------割了你--------------------------------------------------------------&br&&br&和楼主一样在学习python, 最近找到一本python神书 500 line or less. 有兄弟提到了git的源码,这里不只是源码,而是这么一本书,目前还没出版,但是在网上有已经看到了 review版本。&br&强烈推荐!!!&br&强烈推荐!!!&br&强力推荐!!!&br&这本书共16个章节,每章均是由该领域的大牛完成,用不到500行的代码实现一个特(装)定(逼)功能。&br&本书链接 &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/blog/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/blog/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&目录页:&a href=&//link.zhihu.com/?target=http%3A//aosabook.org/blog/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/blog/&/span&&span class=&invisible&&&/span&&i class=&icon-external&&&/i&&/a&&br&以下是章节目录,每一章都让你热血澎湃,看完介绍你就向往下读。&br&1. A Template Engine (&a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/a-template-engine.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/a-&/span&&span class=&invisible&&template-engine.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&)&br&
MVC模型中的view层如何解析html中的静态变量和简单的语句,如下:&br&&br&&div class=&highlight&&&pre&&code class=&language-text&&&p&Welcome, {name}!&/p&
&p&Products:&/p&
{products}
&/code&&/pre&&/div&web中的view层不只是html代码,还有支持其他的代码。比如 {products}是一个变量。 同时view层还支持{if} , {for}, {foreach}等等。django,velocity等是如何解析他们的?&br&大牛用不到500行代码告诉你,是如何实现的? (不是替换,替换需要每次请求都需要解析)&br&&br&2. Web Spreadsheet (&a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/web-spreadsheet.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/we&/span&&span class=&invisible&&b-spreadsheet.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&)&br&
web的电子表格如何实现的? 好像比较简单,但是介绍了 web storage 和 web worker,还是很值得一看的&br&&br&3. A Web Crawler &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/a-&/span&&span class=&invisible&&web-crawler-with-asyncio-coroutines.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
不多说,几百行代码实现高效的网络爬虫, 高效!&br&&br&4. Static Analysis &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/static-analysis.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/st&/span&&span class=&invisible&&atic-analysis.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
成熟的IDE都有代码检查和代码提示,怎么做的? 看这章&br&&br&5. Clustering by Consensus &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/clustering-by-consensus.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/cl&/span&&span class=&invisible&&ustering-by-consensus.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
分布式系统 paxos原理与实现。不知道paxos说明你没接触过分布式体统,接触过分布式还不懂,说明你只会用分布式系统&br&&br&6. A Simple Object Modle &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/a-simple-object-model.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/a-&/span&&span class=&invisible&&simple-object-model.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
Python是面向对象语言,对象,继承,多态,怎么用代码实现的,不到500行代码,实际不到400 行, 666.。。&br&&br&7. An Archaeology-Inspired Database &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/an-archaeology-inspired-database.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/an&/span&&span class=&invisible&&-archaeology-inspired-database.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
如何用python实现一个数据库,支持 query,index, transaction, 2,3百行代码和对每个函数的讲解。看完你就知道知道数据库原理,太值了&br&&br&8. Dog Bed Database &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/dbdb-dog-bed-database.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/db&/span&&span class=&invisible&&db-dog-bed-database.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
类似上一章,不过这次实现的是key-value的非关系型数据库,详细的讲解和2,3百行代码&br&&br&9. A 3D Modeller &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/a-3d-modeller.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/a-&/span&&span class=&invisible&&3d-modeller.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
用python实现一个3D设计,显示到屏幕,可以交互。不是很懂,但不明觉厉&br&&br&10. A Python Interpreter Written in Python &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/a-python-interpreter-written-in-python.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/a-&/span&&span class=&invisible&&python-interpreter-written-in-python.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
手把手教你如何实现python解析器。&br&&br&11. A Pedometer in the Real World &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/a-pedometer-in-the-real-world.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/a-&/span&&span class=&invisible&&pedometer-in-the-real-world.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
你用过手机应用记录你每天走的步数,然后发送到朋友圈吗? (没有? 没关系。)这章告诉你如何实现步数记录,怎么算走一步。手机中有加速记,很容易获得你某一时刻在x,y,z三个方向的加速度,用这些参数,如何计算你走了多少步? 知道吗? 不知道,看这章,讲解加实现&br&&br&12. A Continuous Intergration System &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/a-continuous-integration-system.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/a-&/span&&span class=&invisible&&continuous-integration-system.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
CI System是一个专门用来测试新代码的系统,根据代码提交记录,拿到新的代码,测试,生成报告。这不是关键,关键是 如果test失败,它还会 恢复,然后从失败的那个点在跑,相当于把出错环境重现了。。。&br&&br&13 A Rejection Sampler &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/a-rejection-sampler.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/a-&/span&&span class=&invisible&&rejection-sampler.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
不是很懂,和机器学习相关,如何 计算你赢得象棋比赛的概率,天气对飞机的影响等类似的问题&br&&br&14 A visual programming toolkit &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/blockcode-a-visual-programming-toolkit.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/bl&/span&&span class=&invisible&&ockcode-a-visual-programming-toolkit.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
不太明白&br&&br&15.
A Flow Shop Scheduler &a href=&//link.zhihu.com/?target=http%3A//aosabook.org/en/500L/a-flow-shop-scheduler.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&aosabook.org/en/500L/a-&/span&&span class=&invisible&&flow-shop-scheduler.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&br&
flowshop调度问题,好像很出名的样子,最优化问题,如何从局部最优解找全局最优解&br&&br&16
Optical Character Recognition&br&
几百行代码使用人工神经网络实现识别手写字母。。。&br&&br&github源码:&a href=&//link.zhihu.com/?target=https%3A//github.com/aosabook/500lines/blob/master/README.md& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&500lines/README.md at master · aosabook/500lines · GitHub&i class=&icon-external&&&/i&&/a&
更新:兄弟们如此给力,小弟受宠若惊,好东西就是用来分享的。 500 line or less只是某个系列丛书中第四本,其他三本链接:
可以在线看哦 前两本每章介绍出名开源软件的架构,你说的上名字的开源基本上都能找到,短小精悍的介绍框架 …
&figure&&img src=&https://pic3.zhimg.com/ae59a9b2c6dbe2c3c65f5f8aaa5a8ff5_b.jpg& data-rawwidth=&960& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&https://pic3.zhimg.com/ae59a9b2c6dbe2c3c65f5f8aaa5a8ff5_r.jpg&&&/figure&&p&&b&注:本专栏文章未经允许请勿转载。&/b&&/p&知乎上有不少人问和关注阅读开源项目代码这个问题,比如「&a href=&https://www.zhihu.com/question/& class=&internal&&初学 Python,有哪些 Pythonic 的源码推荐阅读?&/a&」、「&a href=&https://www.zhihu.com/question/& class=&internal&&github中适合新人阅读的Python项目有哪些?&/a&」、「&a href=&https://www.zhihu.com/question/& class=&internal&&如何去阅读并学习一些优秀的开源框架的源码?&/a&」等。本文将从推荐可阅读的Python项目和如何阅读者2个方面聊聊这个话题。&p&阅读Python开源项目代码主要有如下三个原因:&/p&&p&1. 在工作过程中遇到一些问题,Google和StackOverFlow等网站找不到解决办法,只能去翻源码。&/p&&p&2. 对某些项目或者方向非常感兴趣,希望深入。&/p&&p&3. 学习遇到瓶颈需要汲取开源项目的经验和用法来做提高。&/p&&p&&b&没有目的的阅读开源项目就是耍流氓。&/b&浪费了时间,但是能学到的东西也很少。怎么样根据自身情况去阅读呢? &/p&&p&1. 和兴趣以及工作契合。举个例子,工作中没有机会用到Celery又不是想自己造个轮子,读它的源码做什么?所以要从平时能接触到的那些项目中选取。比如我,我肯定不去看Django的代码,因为日常工作基本遇不到,遇到了现翻就好了。&/p&&p&2. 一个方向只看一两个典型的就可以了。比如Web框架,我只看过Bottle和Flask的源码(其实之前也看过Django的,只是浅尝辄止),而且看Bottle已经是好几年前的事情了。并不是堆的多了更好,有时候反而选择太多会懵。&/p&&p&3. 不同技术阶段的选择代码量、复杂度不一样的项目,下面会具体推荐。&/p&&p&4. 清楚自己看代码的目的。就是你看代码是想了解人家怎么设计、调试BUG、还是只是想学习正确的编程用法呢?其实没有必要细抠每个代码细节,有时候当黑盒看,知道输入输出就可以了。&/p&&h2&&b&我个人的喜好&/b&&/h2&&p&和工作中看别人代码差不多,基本每个人、每个项目、每个团队都有自己写代码的风格,比如变量命名风格、某些语言特性使用方式、代码规范要求、目录风格等,其实开源项目的作者也是一样。看代码,如看人(团队)。 首先介绍下我的喜好(排名分先后):&/p&&p&1. &a href=&http://link.zhihu.com/?target=https%3A//github.com/kennethreitz& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&kennethreitz&/a&。requests和python-guide作者。他还有一个非常励志的故事,有兴趣的可以看 &a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&谁说程序员不是潜力股?&/a&&/p&&p&2. &a href=&http://link.zhihu.com/?target=https%3A//github.com/mitsuhiko& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&mitsuhiko&/a&。flask、Jinja2、werkzeug和flask-sqlalchemy作者。&/p&&p&3. &a href=&http://link.zhihu.com/?target=https%3A//github.com/sigmavirus24& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&sigmavirus24&/a&。flake8、pycodestyle(原pep8)、requests、urllib3等项目的主要贡献者和维护者。&/p&&p&4. &a href=&http://link.zhihu.com/?target=https%3A//github.com/ask& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ask&/a&。Celery及相关依赖的作者。&br&&/p&&p&5. &a href=&http://link.zhihu.com/?target=https%3A//github.com/ajdavis& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&ajdavis&/a&。mongo-python-driver(pymongo)、tornado等项目的主要贡献者。&br&&/p&&p&6. &a href=&http://link.zhihu.com/?target=https%3A//github.com/bitprophet& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&bitprophet&/a&。fabric、paramiko(Python的ssh库)作者。&/p&&p&前2个是公认的Python领域代码写的最好的、最有创意的工程师。&/p&&h2&&b&初学者推荐阅读项目&/b&&/h2&&p&初学者可以先阅读一些代码量比较少的,最好是单文件的项目:&/p&&p&1. &a href=&http://link.zhihu.com/?target=https%3A//github.com/kennethreitz/pip-pop& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - kennethreitz/pip-pop: Tools for managing requirements files.&/a&&br&&/p&&p&2. &a href=&http://link.zhihu.com/?target=https%3A//github.com/kennethreitz/envoy& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - kennethreitz/envoy: Python Subprocesses for Humans(TM).&/a&&/p&&p&3. &a href=&http://link.zhihu.com/?target=https%3A//github.com/kennethreitz/records& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - kennethreitz/records: SQL for Humans(TM)&/a&&/p&&p&4. &a href=&http://link.zhihu.com/?target=https%3A//github.com/mitsuhiko/pluginbase& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - mitsuhiko/pluginbase: A simple but flexible plugin system for Python.&/a&&/p&&p&5. &a href=&http://link.zhihu.com/?target=https%3A//github.com/mitsuhiko/pipsi/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - mitsuhiko/pipsi: pip script installer&/a&&/p&&p&6. &a href=&http://link.zhihu.com/?target=https%3A//github.com/mitsuhiko/unp& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - mitsuhiko/unp: Unpacks things.&/a&&/p&&p&7. &a href=&http://link.zhihu.com/?target=https%3A//github.com/chrisallenlane/cheat/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - chrisallenlane/cheat&/a&&/p&&p&8. &a href=&http://link.zhihu.com/?target=https%3A//github.com/jek/blinker& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - jek/blinker: A fast Python in-process signal/event dispatching system.&/a&&/p&&p&9. &a href=&http://link.zhihu.com/?target=https%3A//github.com/mitsuhiko/platter/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - mitsuhiko/platter: A useful helper for wheel deployments.&/a&&br&&/p&&p&10. &a href=&http://link.zhihu.com/?target=https%3A//github.com/kennethreitz/tablib& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - kennethreitz/tablib: Python Module for Tabular Datasets in XLS, CSV, JSON, YAML, &c.&/a&&br&&/p&&p&看代码主要是了解别人写代码的方式,语法实践这些内容。看完之后,你可以针对这些项目能解决的问题自己写个项目,写完之后和上述项目去对比一下,看看哪些方面做的不好。&/p&&h2&&b&进阶阅读项目&/b&&/h2&&p&进阶的时候就要阅读一些相对复杂的项目,它们能帮助你提升Python编程技巧:&/p&&p&1. &a href=&http://link.zhihu.com/?target=https%3A//github.com/faif/python-patterns& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&faif/python-patterns&/a&。使用Python实现一些设计模式的例子。&/p&&p&2. &a href=&http://link.zhihu.com/?target=https%3A//github.com/pallets/werkzeug& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&pallets/werkzeug&/a&。flask的WSGI工具集。其中包含了实现非常好的LocalProxy、cached_property、import_string、find_modules、TypeConversionDict等。&/p&&p&3. &a href=&http://link.zhihu.com/?target=https%3A//github.com/bottlepy/bottle& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&bottlepy/bottle&/a&。阅读一个Web框架对Web开发就会有更深刻的理解,flask太大,bottle就4k多行,当然如果你有毅力和兴趣直接看flask是最好了的。&/p&&p&4. &a href=&http://link.zhihu.com/?target=https%3A//github.com/msiemens/tinydb& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&msiemens/tinydb&/a&。了解用Python实现数据库。&/p&&p&5. &a href=&http://link.zhihu.com/?target=https%3A//github.com/coleifer/peewee& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&coleifer/peewee&/a&。了解ORM的实现。&/p&&p&6. &a href=&http://link.zhihu.com/?target=https%3A//github.com/pallets/click& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&pallets/click&/a&。click已经内置于在flask 0.11里,提供命令行功能,值得阅读。&/p&&p&7. &a href=&http://link.zhihu.com/?target=https%3A//github.com/mitsuhiko/flask-sqlalchemy& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&mitsuhiko/flask-sqlalchemy&/a&。了解一个flask插件是怎么实现的。&/p&&p&除此之外Web开发者可以阅读一些相关的项目:&/p&&p&1. &a href=&http://link.zhihu.com/?target=https%3A//github.com/Runscope/httpbin& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&runscope/httpbin&/a&。使用flask,网站是&a href=&http://link.zhihu.com/?target=http%3A//httpbin.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&httpbin(1): HTTP Client Testing Service&/a&。&/p&&p&2. &a href=&http://link.zhihu.com/?target=https%3A//github.com/Jahaja/psdash& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&jahaja/psdash&/a&。使用flask和psutils的获取Linux系统信息的面板应用。&/p&&p&3. &a href=&http://link.zhihu.com/?target=https%3A//github.com/pallets/flask-website& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&pallets/flask-website&/a&。 flask官方网站应用。&/p&&p&4. &a href=&http://link.zhihu.com/?target=https%3A//github.com/pypa/warehouse& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&pypa/warehouse&/a&。如果你使用pyramid,这个&a href=&http://link.zhihu.com/?target=https%3A//pypi.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&新版的PYPI网站&/a&,可以帮助你理解很多。&/p&&p&当然,2个学习flask重要的资源必须爆一爆:&/p&&p&1. &a href=&http://link.zhihu.com/?target=https%3A//github.com/realpython/discover-flask& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - realpython/discover-flask: Full Stack Web Development with Flask&/a&。&br&&/p&&p&2. &a href=&http://link.zhihu.com/?target=http%3A//blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The Flask Mega-Tutorial&/a&。 这个就是《Flask Web开发:基于Python的Web应用开发实战》的原始博客。&/p&&h2&&b&500lines&/b&&/h2&&p&推荐一个非常厉害的项目 &a href=&http://link.zhihu.com/?target=https%3A//github.com/aosabook/500lines& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&GitHub - aosabook/500lines: 500 Lines or Less&/a&, 它里面包含了22个由该领域的专家完成,用不到500行的代码实现一个特定功能的子项目。连Guido van Rossum都亲自来写基于asyncio爬虫了,Nick Coghlan、ajdavis也出场了。更具体的介绍可以看&a href=&https://www.zhihu.com/question//answer/& class=&internal&&Python 的练手项目有哪些值得推荐? - 小小搬运工的回答&/a&。&/p&&br&&h2&&b&怎么阅读开源项目源码&/b&&/h2&&p&我基于个人兴趣和日常开发需要阅读过一些开源项目,我列一些比较通用的经验和感悟:&/p&&p&1. &b&不要畏惧&/b&。我发现大家都经常会感叹XXX强大,YYY流行,无形中你会把它放在一个不可触及到的地位,感觉它很难,而令自己不敢去挑战它。其实是人就会产出bug,假如你发现它有问题,就应该抓住机会去验证它。这个过程中,它的神秘感也就消失了,有过这么几次经验你就有信心了。其次是不要怕你提交的PR被拒绝。这是非常正常的,我有很多PR是被拒绝的,尤其是给标准库提交的Patch,绝大多数都被拒绝了。&/p&&p&2. &b&带着问题去阅读代码&/b&,这也是我认为最有效的方式。这会让你在阅读时候有个主线,比较有针对性。&/p&&p&3. &b&断点调试。&/b&在Python代码中使用pdb一般不太好使,因为代码复杂的话,这种断点需要你使用多个n跳到对应的位置,我一般都是先抛出异常,然后使用pdb的up/down/n等命令调试。当然在目标位置添加一些print日志或注释部分代码然后直接使用exit()退出也是可以的。&/p&&p&4. &b&善用文档,官网例子&/b&。阅读一个项目一开始会有点无从下手,那么就先好好这些内容,它们一般都是作者表达这个项目的第一个入口。quickstart、tutorial等内容中的最小化的例子其实就是最好的阅读入口,先去看这些引用的模块和调用的对应方法或者函数的对应实现,从下至上去阅读。&/p&&p&5. &b&理解作者的思考方式。&/b&不同的项目要有不同的思考方式来阅读,不要拧着自己的习惯去阅读,这样会很累,得尝试接受别人的观点,甚至于改变自己。&br&&/p&&p&6. &b&阅读项目的早期版本&/b&。一些项目随着时间演进已经非常复杂了,读起来有难度,那么你可以回到项目的早期版本上,先去看相对简单地版本,然后设置几个时间点或者版本节点,渐进的来阅读。&/p&&p&7. &b&记忆并绘制项目架构。&/b&项目就是一堆代码的组合,除了学习编程技巧,还要了解项目的架构决策,这对于未来自己写大型项目非常用用。这种理解越补充,你会对它就越来越清晰。&/p&&p&8. &b&参与&/b&。如果只是看和思考而不参与,其实效果大打折扣。我建议要参与一些issue讨论、向作者提问、提PR添加新的功能、帮助改善文档等等。很多时候你理解的其实和作者是有冲突的,无论是你说服他和被他说服,对自己的成长都是很有帮助的。&/p&&br&&br&&p&无耻的广告:&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&《Python Web开发实战》上市了!&/a&&/p&&p&&b&欢迎关注本人的微信公众号获取更多Python相关的内容(也可以直接搜索「Python之美」):&/b&&br&&br&&figure&&img src=&http://pic1.zhimg.com/v2-1cc7bd405282afd75e90f54_b.jpg& data-rawwidth=&300& data-rawheight=&300& class=&content_image& width=&300&&&/figure&&/p&
注:本专栏文章未经允许请勿转载。知乎上有不少人问和关注阅读开源项目代码这个问题,比如「」、「」、「」等。本文将从…
&p&本文会通过 Keras 搭建一个深度卷积神经网络来识别一张图片是猫还是狗,在验证集上的准确率可以达到99.6%,建议使用显卡来运行该项目。本项目使用的 Keras 版本是1.2.2。&br&&/p&&p&提示:文末附上所有代码的下载地址。&/p&&h1&猫狗大战&/h1&&p&数据集来自 kaggle 上的一个竞赛:&a href=&https://link.zhihu.com/?target=https%3A//www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Dogs vs. Cats&/a&,训练集有25000张,猫狗各占一半。测试集12500张,没有标定是猫还是狗。&br&&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&?
猫狗大战 ls train | head
cat.10.jpg
cat.100.jpg
cat.1000.jpg
cat.10000.jpg
cat.10001.jpg
cat.10002.jpg
cat.10003.jpg
cat.10004.jpg
猫狗大战 ls test | head
&/code&&/pre&&/div&&p&下面是训练集的一部分例子:&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-b5f4f4e0febbb805a40aef500b14d171_b.jpg& data-rawwidth=&695& data-rawheight=&482& class=&origin_image zh-lightbox-thumb& width=&695& data-original=&https://pic4.zhimg.com/v2-b5f4f4e0febbb805a40aef500b14d171_r.jpg&&&/figure&&br&&h1&数据预处理&/h1&&p&由于我们的数据集的文件名是以type.num.jpg这样的方式命名的,比如cat.0.jpg,但是使用 Keras 的 ImageDataGenerator 需要将不同种类的图片分在不同的文件夹中,因此我们需要对数据集进行预处理。这里我们采取的思路是创建符号链接(symbol link),这样的好处是不用复制一遍图片,占用不必要的空间。&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&import&/span& &span class=&nn&&os&/span&
&span class=&kn&&import&/span& &span class=&nn&&shutil&/span&
&span class=&n&&train_filenames&/span& &span class=&o&&=&/span& &span class=&n&&os&/span&&span class=&o&&.&/span&&span class=&n&&listdir&/span&&span class=&p&&(&/span&&span class=&s1&&'train'&/span&&span class=&p&&)&/span&
&span class=&n&&train_cat&/span& &span class=&o&&=&/span& &span class=&nb&&filter&/span&&span class=&p&&(&/span&&span class=&k&&lambda&/span& &span class=&n&&x&/span&&span class=&p&&:&/span&&span class=&n&&x&/span&&span class=&p&&[:&/span&&span class=&mi&&3&/span&&span class=&p&&]&/span& &span class=&o&&==&/span& &span class=&s1&&'cat'&/span&&span class=&p&&,&/span& &span class=&n&&train_filenames&/span&&span class=&p&&)&/span&
&span class=&n&&train_dog&/span& &span class=&o&&=&/span& &span class=&nb&&filter&/span&&span class=&p&&(&/span&&span class=&k&&lambda&/span& &span class=&n&&x&/span&&span class=&p&&:&/span&&span class=&n&&x&/span&&span class=&p&&[:&/span&&span class=&mi&&3&/span&&span class=&p&&]&/span& &span class=&o&&==&/span& &span class=&s1&&'dog'&/span&&span class=&p&&,&/span& &span class=&n&&train_filenames&/span&&span class=&p&&)&/span&
&span class=&k&&def&/span& &span class=&nf&&rmrf_mkdir&/span&&span class=&p&&(&/span&&span class=&n&&dirname&/span&&span class=&p&&):&/span&
&span class=&k&&if&/span& &span class=&n&&os&/span&&span class=&o&&.&/span&&span class=&n&&path&/span&&span class=&o&&.&/span&&span class=&n&&exists&/span&&span class=&p&&(&/span&&span class=&n&&dirname&/span&&span class=&p&&):&/span&
&span class=&n&&shutil&/span&&span class=&o&&.&/span&&span class=&n&&rmtree&/span&&span class=&p&&(&/span&&span class=&n&&dirname&/span&&span class=&p&&)&/span&
&span class=&n&&os&/span&&span class=&o&&.&/span&&span class=&n&&mkdir&/span&&span class=&p&&(&/span&&span class=&n&&dirname&/span&&span class=&p&&)&/span&
&span class=&n&&rmrf_mkdir&/span&&span class=&p&&(&/span&&span class=&s1&&'train2'&/span&&span class=&p&&)&/span&
&span class=&n&&os&/span&&span class=&o&&.&/span&&span class=&n&&mkdir&/span&&span class=&p&&(&/span&&span class=&s1&&'train2/cat'&/span&&span class=&p&&)&/span&
&span class=&n&&os&/span&&span class=&o&&.&/span&&span class=&n&&mkdir&/span&&span class=&p&&(&/span&&span class=&s1&&'train2/dog'&/span&&span class=&p&&)&/span&
&span class=&n&&rmrf_mkdir&/span&&span class=&p&&(&/span&&span class=&s1&&'test2'&/span&&span class=&p&&)&/span&
&span class=&n&&os&/span&&span class=&o&&.&/span&&span class=&n&&symlink&/span&&span class=&p&&(&/span&&span class=&s1&&'../test/'&/span&&span class=&p&&,&/span& &span class=&s1&&'test2/test'&/span&&span class=&p&&)&/span&
&span class=&k&&for&/span& &span class=&n&&filename&/span& &span class=&ow&&in&/span& &span class=&n&&train_cat&/span&&span class=&p&&:&/span&
&span class=&n&&os&/span&&span class=&o&&.&/span&&span class=&n&&symlink&/span&&span class=&p&&(&/span&&span class=&s1&&'../../train/'&/span&&span class=&o&&+&/span&&span class=&n&&filename&/span&&span class=&p&&,&/span& &span class=&s1&&'train2/cat/'&/span&&span class=&o&&+&/span&&span class=&n&&filename&/span&&span class=&p&&)&/span&
&span class=&k&&for&/span& &span class=&n&&filename&/span& &span class=&ow&&in&/span& &span class=&n&&train_dog&/span&&span class=&p&&:&/span&
&span class=&n&&os&/span&&span class=&o&&.&/span&&span class=&n&&symlink&/span&&span class=&p&&(&/span&&span class=&s1&&'../../train/'&/span&&span class=&o&&+&/span&&span class=&n&&filename&/span&&span class=&p&&,&/span& &span class=&s1&&'train2/dog/'&/span&&span class=&o&&+&/span&&span class=&n&&filename&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&br&&p&我们可以从下面看到文件夹的结构,train2里面有两个文件夹,分别是猫和狗,每个文件夹里是12500张图。&br&&/p&&div class=&highlight&&&pre&&code class=&language-text&&&span&&/span&├── test [12500 images]
├── test.zip
├── test2
└── test -& ../test/
├── train [25000 images]
├── train.zip
└── train2
├── cat [12500 images]
└── dog [12500 images]
&/code&&/pre&&/div&&h1&导出特征向量&/h1&&p&对于这个题目来说,使用预训练的网络是最好不过的了,经过前期的测试,我们测试了 ResNet50 等不同的网络,但是排名都不高,现在看来只有一两百名的样子,所以我们需要提高我们的模型表现。那么一种有效的方法是综合各个不同的模型,从而得到不错的效果,兼听则明。如果是直接在一个巨大的网络后面加我们的全连接,那么训练10代就需要跑十次巨大的网络,而且我们的卷积层都是不可训练的,那么这个计算就是浪费的。所以我们可以将多个不同的网络输出的特征向量先保存下来,以便后续的训练,这样做的好处是我们一旦保存了特征向量,即使是在普通笔记本上也能轻松训练。&/p&&br&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&kn&&from&/span& &span class=&nn&&keras.models&/span& &span class=&kn&&import&/span& &span class=&o&&*&/span&
&span class=&kn&&from&/span& &span class=&nn&&keras.layers&/span& &span class=&kn&&import&/span& &span class=&o&&*&/span&
&span class=&kn&&from&/span& &span class=&nn&&keras.applications&/span& &span class=&kn&&import&/span& &span class=&o&&*&/span&
&span class=&kn&&from&/span& &span class=&nn&&keras.preprocessing.image&/span& &span class=&kn&&import&/span& &span class=&o&&*&/span&
&span class=&kn&&import&/span& &span class=&nn&&h5py&/span&
&span class=&k&&def&/span& &span class=&nf&&write_gap&/span&&span class=&p&&(&/span&&span class=&n&&MODEL&/span&&span class=&p&&,&/span& &span class=&n&&image_size&/span&&span class=&p&&,&/span& &span class=&n&&lambda_func&/span&&span class=&o&&=&/span&&span class=&bp&&None&/span&&span class=&p&&):&/span&
&span class=&n&&width&/span& &span class=&o&&=&/span& &span class=&n&&image_size&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span&
&span class=&n&&height&/span& &span class=&o&&=&/span& &span class=&n&&image_size&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span&
&span class=&n&&input_tensor&/span& &span class=&o&&=&/span& &span class=&n&&Input&/span&&span class=&p&&((&/span&&span class=&n&&height&/span&&span class=&p&&,&/span& &span class=&n&&width&/span&&span class=&p&&,&/span& &span class=&mi&&3&/span&&span class=&p&&))&/span&
&span class=&n&&x&/span& &span class=&o&&=&/span& &span class=&n&&input_tensor&/span&
&span class=&k&&if&/span& &span class=&n&&lambda_func&/span&&span class=&p&&:&/span&
&span class=&n&&x&/span& &span class=&o&&=&/span& &span class=&n&&Lambda&/span&&span class=&p&&(&/span&&span class=&n&&lambda_func&/span&&span class=&p&&)(&/span&&span class=&n&&x&/span&&span class=&p&&)&/span&
&span class=&n&&base_model&/span& &span class=&o&&=&/span& &span class=&n&&MODEL&/span&&span class=&p&&(&/span&&span class=&n&&input_tensor&/span&&span class=&o&&=&/span&&span class=&n&&x&/span&&span class=&p&&,&/span& &span class=&n&&weights&/span&&span class=&o&&=&/span&&span class=&s1&&'imagenet'&/span&&span class=&p&&,&/span& &span class=&n&&include_top&/span&&span class=&o&&=&/span&&span class=&bp&&False&/span&&span class=&p&&)&/span&
&span class=&n&&model&/span& &span class=&o&&=&/span& &span class=&n&&Model&/span&&span class=&p&&(&/span&&span class=&n&&base_model&/span&&span class=&o&&.&/span&&span class=&n&&input&/span&&span class=&p&&,&/span& &span class=&n&&GlobalAveragePooling2D&/span&&span class=&p&&()(&/span&&span class=&n&&base_model&/span&&span class=&o&&.&/span&&span class=&n&&output&/span&&span class=&p&&))&/span&
&span class=&n&&gen&/span& &span class=&o&&=&/span& &span class=&n&&ImageDataGenerator&/span&&span class=&p&&()&/span&
&span class=&n&&train_generator&/span& &span class=&o&&=&/span& &span class=&n&&gen&/span&&span class=&o&&.&/span&&span class=&n&&flow_from_directory&/span&&span class=&p&&(&/span&&span class=&s2&&&train2&&/span&&span class=&p&&,&/span& &span class=&n&&image_size&/span&&span class=&p&&,&/span& &span class=&n&&shuffle&/span&&span class=&o&&=&/span&&span class=&bp&&False&/span&&span class=&p&&,&/span&
&span class=&n&&batch_size&/span&&span class=&o&&=&/span&&span class=&mi&&16&/span&&span class=&p&&)&/span&
&span class=&n&&test_generator&/span& &span class=&o&&=&/span& &span class=&n&&gen&/span&&span class=&o&&.&/span&&span class=&n&&flow_from_directory&/span&&span class=&p&&(&/span&&span class=&s2&&&test2&&/span&&span class=&p&&,&/span& &span class=&n&&image_size&/span&&span class=&p&&,&/span& &span class=&n&&shuffle&/span&&span class=&o&&=&/span&&span class=&bp&&False&/span&&span class=&p&&,&/span&
&span class=&n&&batch_size&/span&&span class=&o&&=&/span&&span class=&mi&&16&/span&&span class=&p&&,&/span& &span class=&n&&class_mode&/span&&span class=&o&&=&/span&&span class=&bp&&None&/span&&span class=&p&&)&/span&
&span class=&n&&train&/span& &span class=&o&&=&/span& &span class=&n&&model&/span&&span class=&o&&.&/span&&span class=&n&&predict_generator&/span&&span class=&p&&(&/span&&span class=&n&&train_generator&/span&&span class=&p&&,&/span& &span class=&n&&train_generator&/span&&span class=&o&&.&/span&&span class=&n&&nb_sample&/span&&span class=&p&&)&/span&
&span class=&n&&test&/span& &span class=&o&&=&/span& &span class=&n&&model&/span&&span class=&o&&.&/span&&span class=&n&&predict_generator&/span&&span class=&p&&(&/span&&span class=&n&&test_generator&/span&&span class=&p&&,&/span& &span class=&n&&test_generator&/span&&span class=&o&&.&/span&&span class=&n&&nb_sample&/span&&span class=&p&&)&/span&
&span class=&k&&with&/span& &span class=&n&&h5py&/span&&span class=&o&&.&/span&&span class=&n&&File&/span&&span class=&p&&(&/span&&span class=&s2&&&gap_&/span&&span class=&si&&%s&/span&&span class=&s2&&.h5&&/span&&span class=&o&&%&/span&&span class=&n&&MODEL&/span&&span class=&o&&.&/span&&span class=&n&&func_name&/span&&span class=&p&&)&/span& &span class=&k&&as&/span& &span class=&n&&h&/span&&span class=&p&&:&/span&
&span class=&n&&h&/span&&span class=&o&&.&/span&&span class=&n&&create_dataset&/span&&span class=&p&&(&/span&&span class=&s2&&&train&&/span&&span class=&p&&,&/span& &span class=&n&&data&/span&&span class=&o&&=&/span&&span class=&n&&train&/span&&span class=&p&&)&/span&
&span class=&n&&h&/span&&span class=&o&&.&/span&&span class=&n

我要回帖

更多关于 kaggle比赛含金量 的文章

 

随机推荐