Technic

好用在线Python环境及免费GPU算力

这是个资源汇总贴子,主要是把一些提供GPU算力的在线python环境汇总整理,另外文末添加了两个我刚看到的跟金融数据联系比较紧密的在线python调试和仿真交易环境。(提醒一下手机使用Dark模式的读者,后文每个环境的标题都是带链接的,而且正文中也是有些超链接的,不过在Dark模式下的默认字体颜色可能区分不太出来。) 带GPU算力的在线环境 百度AI Studio(首推) 先说一下百度飞桨(PaddlePaddle),它是一个国产的灵活高效的产业级深度学习框架,提供了丰富的预训练模型、模型库、工具组件等。AI Studio是基于飞桨的一站式开发平台,有现成的python环境,直接创建或者分享别人的项目使用即可,项目的形式和界面与Jupyter Notebook很像,很好上手。同时它还包括了各种竞赛(有奖金)、数据集、课程以及完善的学习社区,便于学习和应用。AI studio是基于飞桨的,之前也可以在Notebook直接安装tensorflow,不过现在已经不行了,必须通过控制台安装。如果真的是急着用GPU和TF,可以看看我之前写的《教你在百度AI Studio下安装tensorflow和Keras》。不过有时间的话学习了解一下飞桨也是非常不错的,平台上也有免费的课程可以上,话说回来,毕竟免费用人家的GPU。 运行项目可以选择基础版或者高级版,区别如下: 基础版 (免费使用) CPU: 2 Cores. RAM: 8GB. Disk: 100GB 高级版 (1算力卡/小时) GPU: Tesla V100. Video Mem: 16GB CPU: 8 Cores. RAM: 32GB. Disk: 100GB 高级版的算力卡通过登录和运行项目免费获得(每天可以获得12小时的算力卡,有效期好像是2天还是3天的),也可以通过参加AI studio中的某些竞赛获得免费算力卡,比如最近正在进行的传染病预测竞赛可以提供100小时的算力卡。 谷歌Colaboratory(Colab) 谷歌的在线python测试平台,界面也是和Jupyter Notebook很像,Colab笔记本直接存在google drive里。不知道国内能访问么,如果能翻墙使用,或者本身常使用google drive的话,是很方便的。提供免费的GPU,具体Colab使用哪个型号的GPU我没有查到,不过谷歌云服务提供的GPU是包括K80到V100系列的。另外如果想方便的使用TF,那么Colab是个不错的选择。 Kaggle 是很火的数据建模和数据分析竞赛平台,建立于2010年,也是提供了很多竞赛、数据集、课程、讨论区等。Kaggle用的是2014年出的Tesla K80系列的GPU,性能上比飞桨的V100还是略逊一些,具体的性能对比可以参考后边这篇文章《免费GPU计算资源哪里有?带你薅薅国内GPU羊毛》。 AWS 亚马逊出的云计算平台,我没有使用过,这个我没有注册账号就不展开讲了。标题链接是.cn结尾的中国官网,上边介绍的是第一年是免费套餐,之后会收费。国外的网址是https://aws.amazon.com。关于这个平台的更多介绍如果有兴趣也可以参看《免费GPU计算资源哪里有?带你薅薅国内GPU羊毛》。总归既然有AI studio,我觉得也没有特别的必要折腾AWS了。   金融相关的两个在线环境 Vitu.ai 和BigQuant 两个很类似,就一起写了,都包括在线环境、金融数据、在线课程等。都主要与金融相关,BigQuant更倾向AI量化,并都可以进行仿真交易。对金融数据有需求的话,可以看看这两个。

Continue Reading

Technic

Ubuntu上安装python3.6以及设置为系统默认

这篇文章记录了如何在Ubuntu上安装python3.6以及将其设置为系统默认。   查看Ubuntu版本 由于python3.6在不同的Ubuntu版本中的安装是不一样的,这里我们先来看一下的Ubuntu的版本,在terminal中输入lsb_release -a即可查看,例如我的Ubuntu版本为16.04.4.   不同Ubuntu版本上的python3.6的安装 文末的参考资料[1]中的高赞回答列举了python3.6在不同版本的Ubuntu上的安装,这里摘抄如下: Ubuntu 14.04 and 16.04 sudo add-apt-repository ppa:deadsnakes/ppa sudo apt-get update sudo apt-get install python3.6 或者 sudo add-apt-repository ppa:jonathonf/python-3.6 sudo apt-get update sudo apt-get install python3.6 安装完成后使用python3.6命令运行 Ubuntu 16.10 and 17.04 sudo apt-get update sudo apt-get install python3.6 安装完成后使用python3.6命令运行 Ubuntu 17.10 在Ubuntu17.10中已经默认使用python3.6,所以可以直接用python3运行   设置python3.6为系统默认 安装好python3.6之后,我的系统中有python2.7,python3.5和python3.6三个版本的python。为了避免每次使用python3.6命令,希望把python3.6设置为系统默认。在设置之前,我们首先来看一个系统中python命令,python3命令以及不同版本python的路径,之后的操作中我们也需要其中的部分路径:   设置python命令默认使用python3.6 sudo […]

Continue Reading

Technic

使用Sphinx生成python代码文档

(English version here)   今天开始使用Sphinx生成python文档。我以前用Doxygen给C代码生成文档,所以这次特意花了点时间比较Sphinx和Doxygen。读了这篇文章之后我决定使用Sphinx Comparison of Python documentation generators。 Sphinx是生成python文档最受欢迎的工具,甚至Python 3 的官方文档也是用Sphinx生成的。在本文中我将和你分享怎么使用Sphinx。 安装 你可以在这里找到sphinx在不同平台的安装方法,我只简单介绍几个比较常用的:   Debian/Ubuntu Python2 $ apt-get install python-sphinx Python3 $ apt-get install python3-sphinx   用pip安装 可以用于Linux, MacOS以及windows pip install -U sphinx   用Git安装 可以用于Linux, MacOS以及windows $ git clone https://github.com/sphinx-doc/sphinx $ cd sphinx $ pip install .   设置和使用 启动sphinx 安装好Sphinx以后你可以在你的代码所在文件夹启动命令窗口并用以下命令启动sphinx: sphinx-quickstart 比如,这里我在名叫Python的文件夹里使用该命令。文件夹中有一个python的测试代码文件。   设置 […]

Continue Reading

Technic

PEP 8 — Style Guide for Python Code (PEP8 — Python代码风格指南)

前言 本篇文章是对Python官网上的代码风格指南的翻译和注解。虽然网上已经有很多类似的翻译了,我还是希望通过自己进行翻译的方式加深对指南的理解。本文更多注重于内容的翻译,所以没有特别多的辞藻修饰,文中若有疏漏和不妥之处,欢迎大家批评指正。本文没有完全翻译结束,近期会慢慢完善。 PEP: 8 Title: Style Guide for Python Code Author: Guido van Rossum <guido at python.org>, Barry Warsaw <barry at python.org>, Nick Coghlan <ncoghlan at gmail.com> Status: Active Type: Process Created: 05-Jul-2001 Post-History: 05-Jul-2001, 01-Aug-2013   Introduction 介绍 This document gives coding conventions for the Python code comprising the standard library in the main Python […]

Continue Reading

Technic

使用Numpy时遇到的那些坑

Numpy.delete只删除元素的数值 Numpy.delete只是把元素的数值删掉,并不会数组中的这个元素。也就是说,使用Numpy.delete的话,数组的长度是不变的。 如果想完全删除这个元素以及它所在位置,可以使用如下如下语句: X_train = X_train[1:len(X_train),:] ,其中X_train为你想对其进行操作的变量,本例中删除了原X_train 的第一个元素(即index为0的那个元素)。这里如果使用Numpy.delete误以为整个元素被删除了而且没有对其赋予新的值,原来元素所在的位置可能会由一个随机生成的数字代替,在后续的操作中会遇到一些莫名奇妙的数据问题。

Continue Reading

Technic

机器学习利用第三方库自动寻找最优参数

        目前的实验中我在用深度学习构建神经网络,开始的时候我一般是随机手调几个数大致看下效果,有时候如果需要知道网络效果随参数变化的趋势,就用for循环自动运行许多实验,然后我来收结果并用matlab批量分析。今天同事给我推荐了两个github上的库,利用这两个库可以实现对模型多次的运行并评价系统的运行结果。这个过程中不涉及对系统的优化,只是通过大量的自动运行的实验通过统计学的角度来比较什么样的参数相对较好。         这两个库分别为Spearmint 和 BayesianOptimization.详细的介绍、安装方法和例子在各自的网站里都有写,我就不赘述了。目前我正在尝试使用Spearmint方法,所以先把安装过程中的一点小提示写在这里。         首先,这个库是在python 2.7环境的,如果你使用python 3 的话会遇到一些问题,所以建议使用2.7.         其次,新版的scipy中weave模块已经独立出来,所以原来的文件中使用的scipy.weave as weave语句就没法使用了,会报错。有人建议如下修改   try: import scipy.weave as weave except ImportError: import weave                 可是我的电脑上即使更新scipy后也无法导入scipy.weave或者weave,所以只好使用下边这种方法,也就是完全不使用weave库。因为weave只使用了一次,所以只要在/spearmint/kernels/kernel_utils.py文件中把使用weave模块的部分注释掉即可,把第226行附近的代码调整为如下所示。原来使用weave模块用c语言计算的部分被用python语言的替代了,计算速度会下降,不过好歹可以用了。此外记得删除kernel_utils.py和/spearmint/models/gp_classifier.py文件中weave模块的import。   #try: # scipy.weave.inline(code, [‘x1′,’x2′,’gX’,’ls’,’M’,’N’,’D’], \ # type_converters=scipy.weave.converters.blitz, \ # compiler=’gcc’) […]

Continue Reading

Technic

在linux系统上设置虚拟环境Virtual Environment

背景:最近因为项目的需要,把电脑连到了实验室的大server上用来跑机器学习的python程序。实验室的server上已经预装了python 2.7和3.4两个版本,并且已经有了一些常用的包。   优点:虽然可以直接使用server上的python进行程序调试,不过同事还是建议我在server中我的文件夹下设置virtual environment,这样做最大的好处是我可以利用虚拟的python环境运行我的程序,也可以在必要时安装更多的包而不需要root权限。同时这些操作不会对其他同事的工作造成影响。虚拟环境设置好之后会生成一个文件夹,不需要的时候可以直接删掉,非常安全。并且也可以根据需要设置不同的虚拟环境,比如我分别设置了python2.7和3.4的虚拟环境。   具体操作: 下面进入正题,这里我使用的是Win10系统,并已经通过putty成功连接到了server中自己的目录下。 Step1:首先建立虚拟环境: virtualenv my_ENV   (此处my_ENV就是你给你设置的虚拟环境起的名字,可以自行修改) 需要说明的是,这一条语句是建立python 2虚拟环境使用的,如果想在虚拟环境中使用python 3, 则为virtualenv -p python3 my_ENV     Step2:设置好之后,我们通过 ls 命令就可以看到所在文件夹中多了my_ENV这个文件夹,这就是你的虚拟环境了。   Step3:激活这个虚拟环境: source my_ENV/bin/activate 这样我们就进入到这个虚拟环境中了,你会看到在putty的命令行的开头会多了一个括号,里边写着(my_ENV).   Step4:为了确保使用的python版本正确,可以用在命令行输入python并查看版本信息,之后可以用quit()命令退回到命令行。同时也可以使用which python命令查看目前使用的python的路径,确保是虚拟环境目录中的python。   Step5:接下来我们可以使用pip freeze命令看一下在这个虚拟环境中已经安装了哪些包。 由于我们还没有安装各种包,结果应该是空的。我们可以通过pip的命令进行各种常用的包进行安装,包括但不限于: pip install keras pip install matplotlib pip install pandas pip install tensorflow pip install sklearn   由于安装keras时会自动安装numpy,所以不需要额外用pip命令安装numpy了,许多其他的包也是一样的,比如scipy,six,pyyaml等等。   Step 6:最后,如果想退出目前的虚拟环境,只需要使用deactivate命令即可。下次再想进入虚拟环境的话,再次使用step […]

Continue Reading

Technic

Windows10下安装Python,Tensorflow和Keras

2018年4月更新: 这篇文章原写于2017年10月。据称目前(2018年4月)Tensorflow在windows上已经支持3.6版本,我还没有自己尝试,相关讨论请参考https://stackoverflow.com/questions/40884668/installing-tensorflow-on-windows-python-3-6-x.         今后做实验要开始接触深度学习了,那当然免不了要安装Python和Tensorflow,另外因为需要LSTM方法,我也需要安装Keras。这篇文章就是关于最近安装这些东西的一个小结。           如果你懒得看后文,我其实就一句话,从头开始就用Anaconda吧!!! (直接跳转到“最简安装过程”部分)   用Windows遇到的坑         首先总结一下用windows过程中的坑: Tensorflow目前在windows上只支持Python3.5版本(高了低了都不行) Scipy在windows上用命令行安装出错。因为安装Keras时会安装Scipy,所以无法成功安装Keras   我的坎坷经历         不卖关子了,简而言之,在windows上最好是使用Scientific Python distributions来安装和管理各种库,这是我后来才发现的。由于始终没法成功安装Scipy,我找到了Scipy的这个官网安装介绍,windows系统的同学可以直接拖到最后看下。而Scientific Python distributions的介绍在页面的开头,我直接使用的第一个,也就是Anaconda.           使用Anaconda要注意,因为它的首页上是下载集成了3.6版本的Python的,而tensorflow在windows上只支持3.5版本,所以这个要想办法解决。根据Anaconda的介绍(How do I get the latest Anaconda with Python 3.5?)可以用以下三种方法: A) We recommend downloading the latest […]

Continue Reading