- http://docs.python-guide.org/en/latest/ python最佳实践
-
Docopt. Forget
optparseandargparse, and build beautiful, readable and (if you need) complex command-line interfaces usingdocstrings. IMO the best module created in 2013. -
Requests, or HTTP for humans, is a more pythonic approach to deal with HTTP requests. Much, much, much better than
urllib2. And it has been downloaded over 5,000,000 times from PyPI for a reason :) -
lxml is a binding for
libxml2andlibxslt. If you are dealing with XML or HMTL, lxml is the best solution. Full stop. -
Bottle is a fast, simple and lightweight WSGI micro web-framework. Build small websites and REST APIs in seconds. All the framework is just one
pyfile that you can drop in your directory. -
sh is a full-fledged subprocess interface for Python that allows you to call any program as if it were a function. Super handy.
-
Structlog is advanced processor for logging. It integrates with any existing logger, wrapping the Python standard library. You can build custom loggers, adding context as you go, to keep your logs consistent and readable.
-
Watchdog is cross platform Python library and shell utilities to monitor file system events. Super handy and easy to use.
-
Delorean lets you play with dates and times in a very convenient way. Set time zones, truncate to seconds, minutes, hours, or even iterate from one date to another using a specific step. Check out the doc, it contains plenty of examples.
- gallery 数据可视化,各种图
- selenium 模拟浏览器(需要安装浏览器)
- 纤程:stackless,greenlet,gevent,eventlet
- swig c扩展
- pipe
- functional
- creepy,scrapy 爬虫
- BeautifulSoup 解析
- PIL: 图片处理
Numpy: 数值计算
Re: 正则 - dateutil 时间、字符串转换
- py2exe
- pstuil 跨平台地很方便获取和控制系统的进程,以及读取系统的CPU占用内存占用等信息
- sh 系统管理神器
- suds 轻量的SOAP客户端
- pelican 静态博客生成器(写markdown文本,然后自动转换成html静态文件)
- Markdoc 文档生成器(以前拿这个做wiki用)
- Pygments 语法高亮的lib
- fabric和salt 系统管理
- IMage
- Mako: 个人认为是最好的Template,简单 性能好
计算机视觉
- SimpleCV—开源的计算机视觉框架,可以访问如OpenCV等高性能计算机视觉库。使用Python编写,可以在Mac、Windows以及Ubuntu上运行。
自然语言处理
- NLTK —一个领先的平台,用来编写处理人类语言数据的Python程序
- Pattern—Python可用的web挖掘模块,包括自然语言处理、机器学习等工具。
- TextBlob—为普通自然语言处理任务提供一致的API,以NLTK和Pattern为基础,并和两者都能很好兼容。
- jieba—中文断词工具。
- SnowNLP —中文文本处理库。
- loso—另一个中文断词库。
- genius —基于条件随机域的中文断词库。
- nut —自然语言理解工具包。
通用机器学习
- Bayesian Methods for Hackers —Python语言概率规划的电子书
- MLlib in Apache Spark—Spark下的分布式机器学习库。
- scikit-learn—基于SciPy的机器学习模块
- graphlab-create —包含多种机器学习模块的库(回归,聚类,推荐系统,图分析等),基于可以磁盘存储的DataFrame。
- BigML—连接外部服务器的库。
- pattern—Python的web挖掘模块
- NuPIC—Numenta公司的智能计算平台。
- Pylearn2—基于Theano的机器学习库。
- hebel —Python编写的使用GPU加速的深度学习库。
- gensim—主题建模工具。
- PyBrain—另一个机器学习库。
- Crab —可扩展的、快速推荐引擎。
- python-recsys —Python实现的推荐系统。
- thinking bayes—关于贝叶斯分析的书籍
- Restricted Boltzmann Machines —Python实现的受限波尔兹曼机。[深度学习]。
- Bolt —在线学习工具箱。
- CoverTree —cover tree的Python实现,scipy.spatial.kdtree便捷的替代。
- nilearn—Python实现的神经影像学机器学习库。
- Shogun—机器学习工具箱。
- Pyevolve —遗传算法框架。
- Caffe —考虑了代码清洁、可读性及速度的深度学习框架
- breze—深度及递归神经网络的程序库,基于Theano。
数据分析/数据可视化
- SciPy —基于Python的数学、科学、工程开源软件生态系统。
- NumPy—Python科学计算基础包。
- Numba —Python的低级虚拟机JIT编译器,Cython and NumPy的开发者编写,供科学计算使用
- NetworkX —为复杂网络使用的高效软件。
- Pandas—这个库提供了高性能、易用的数据结构及数据分析工具。
- Open Mining—Python中的商业智能工具(Pandas web接口)。
- PyMC —MCMC采样工具包。
- zipline—Python的算法交易库。
- PyDy—全名Python Dynamics,协助基于NumPy, SciPy, IPython以及 matplotlib的动态建模工作流。
- SymPy —符号数学Python库。
- statsmodels—Python的统计建模及计量经济学库。
- astropy —Python天文学程序库,社区协作编写
- matplotlib —Python的2D绘图库。
- bokeh—Python的交互式Web绘图库。
- plotly —Python and matplotlib的协作web绘图库。
- vincent—将Python数据结构转换为Vega可视化语法。
- d3py—Python的绘图库,基于D3.js。
- ggplot —和R语言里的ggplot2提供同样的API。
- Kartograph.py—Python中渲染SVG图的库,效果漂亮。
- pygal—Python下的SVG图表生成器。
- pycascading
杂项脚本/iPython笔记/代码库
- pattern_classification
- thinking stats 2
- hyperopt
- numpic
- 2012-paper-diginorm
- ipython-notebooks
- decision-weights
- Sarah Palin LDA —Sarah Palin关于主题建模的电邮。
- Diffusion Segmentation —基于扩散方法的图像分割算法集合。
- Scipy Tutorials —SciPy教程,已过时,请查看scipy-lecture-notes
- Crab—Python的推荐引擎库。
- BayesPy—Python中的贝叶斯推断工具。
- scikit-learn tutorials—scikit-learn学习笔记系列
- sentiment-analyzer —推特情绪分析器
- group-lasso—坐标下降算法实验,应用于(稀疏)群套索模型。
- mne-python-notebooks—使用 mne-python进行EEG/MEG数据处理的IPython笔记
- pandas cookbook—使用Python pandas库的方法书。
- climin—机器学习的优化程序库,用Python实现了梯度下降、LBFGS、rmsprop、adadelta 等算法。
Kaggle竞赛源代码
- wiki challange —Kaggle上一个维基预测挑战赛 Dell Zhang解法的实现。
- kaggle insults—Kaggle上”从社交媒体评论中检测辱骂“竞赛提交的代码
- kaggle_acquire-valued-shoppers-challenge—Kaggle预测回头客挑战赛的代码
- kaggle-cifar —Kaggle上CIFAR-10 竞赛的代码,使用cuda-convnet
- kaggle-blackbox —Kaggle上blackbox赛代码,关于深度学习。
- kaggle-accelerometer —Kaggle上加速度计数据识别用户竞赛的代码
- kaggle-advertised-salaries —Kaggle上用广告预测工资竞赛的代码
- kaggle amazon —Kaggle上给定员工角色预测其访问需求竞赛的代码
- kaggle-bestbuy_big—Kaggle上根据bestbuy用户查询预测点击商品竞赛的代码(大数据版)
- kaggle-bestbuy_small—Kaggle上根据bestbuy用户查询预测点击商品竞赛的代码(小数据版)
- Kaggle Dogs vs. Cats —Kaggle上从图片中识别猫和狗竞赛的代码
- Kaggle Galaxy Challenge —Kaggle上遥远星系形态分类竞赛的优胜代码
- Kaggle Gender —Kaggle竞赛:从笔迹区分性别
- Kaggle Merck—Kaggle上预测药物分子活性竞赛的代码(默克制药赞助)
- Kaggle Stackoverflow—Kaggle上 预测Stack Overflow网站问题是否会被关闭竞赛的代码
- wine-quality —预测红酒质量。
Python深度学习
Theano
主页:http://deeplearning.net/software/theano/
Github网址:https://github.com/Theano/Theano
Theano不仅是这篇文章中将要讨论的其他框架的核心库,于其自身而言,它也是一个强大的库,几乎能在任何情况下使用,从简单的logistic回归到建模并生成音乐和弦序列或是使用长短期记忆人工神经网络对电影收视率进行分类。
Theano大部分代码是使用Cython编写,Cython是一个可编译为本地可执行代码的Python方言,与仅仅使用解释性Python语言 相比,它能够使运行速度快速提升。最重要的是,很多优化程序已经集成到Theano库中,它能够优化你的计算量并让你的运行时间保持最低。
如果速度的提升还不能满足你,它还内置支持使用CUDA在GPU上执行那些所有耗时的计算。所有的这一切仅仅只需要修改配置文件中的标志位即可。在CPU上运行一个脚本,然后切换到GPU,而对于你的代码,则不需要做任何变化。
同时我们应该注意到,尽管Theano使用Cython和CUDA对其性能大大提升,但你仍然可以仅仅使用Python语言来创建几乎任何类型的神经网络结构。
Pylearn2
主页:http://deeplearning.net/software/pylearn2/
Github网址:https://github.com/lisa-lab/pylearn2
Pylearn2和Theano由同一个开发团队开发,Pylearn2是一个机器学习库,它把深度学习和人工智能研究许多常用的模型以及训练算法封装成一个单一的实验包,如随机梯度下降。
你也可以很轻松的围绕你的类和算法编写一个封装程序,为了能让它在Pylearn2上运行,你需要在一个单独的YAML格式的配置文件中配置你整个神经网络模型的参数。
除此之外,它还有很多数据集及其预编译好的软件包,所以,你现在就可以直接使用MNIST数据集开始做实验了!
Blocks
Github网址:https://github.com/mila-udem/blocks
Blocks是一个非常模块化的框架,有助于你在Theano上建立神经网络。目前它支持并提供的功能有:
- 构建参数化Theano运算,称之为“bricks”。
- 在大型模型中使用模式匹配来选择变量以及“bricks”。
- 使用算法优化模型。
- 训练模型的保存和恢复。
- 在训练过程中检测和分析值(训练集以及测试集)。
- 图形变换的应用,如dropout。
Keras
Github网址:https://github.com/fchollet/keras
Keras是一个简约的、高度模块化的神经网络库,设计参考了Torch,基于Theano和Python语言编写,支持GPU和CPU。它的开发侧重于实现快速试验和创造新的深度学习模型。
如果你需要具有以下功能的深度学习库,采用Keras就恰到好处:
- 可以很容易地、快速地建立原型(通过总体模块化,极简化并且可扩展化)。
- 支持卷积网络和递归网络,以及两者的组合。
- 支持任意连接方式(包括多输入多输出训练)。
Keras库与其他采用Theano库的区别是Keras的编码风格非常简约、清晰。它把所有的要点使用小类封装起来,能够很容易地组合在一起并创造出一种全新的模型。
Lasagne
Github网址:https://github.com/Lasagne/Lasagne
Lasagne不只是一个美味的意大利菜,也是一个与Blocks和Keras有着相似功能的深度学习库,但其在设计上与它们有些不同。
下面是Lasagne的一些设计目的:
- 简单化:它应该是易于使用和扩展的机器学习库。每添加一个特征,就应该考虑其对易用性和扩展性的影响。每一个抽象概念的加入都应该仔细检查,以确定增加的复杂性是否合理。
- 小接口:尽可能少的类和方法。尽可能依赖Theano的功能和数据类型,遵循Theano的规定。如果没有严格的必要,不要在类中封装东西。这会使它更容易使用库并且扩展它(不需要有太多的认知)。
- 不碍事:未使用的功能应该是不可见的,用户不会考虑他们不使用的功能。尽可能单独的使用库文件中的组件。
- 透明性:不要试图掩盖Theano,尽量以Python或NumPy数据类型的形式将函数和方法返回给Theano表达式。
- 重点:遵循Unix哲学“做一件事,并把它做好”,重点集中在前馈神经网络。
- 实用主义:使普通用例更易于使用,这要比支持每一个可能的用例更为重要。
ansible:系统管理
pynotify:桌面气泡通知。例
rpyc:远程调用。例
eyed3:mp3 id3处理 官网
浙公网安备 33010602011771号