注意:翻译需要符合中文语序、流程、通顺
机器学习流水线的端到端教程
本教程尝试做的是大多数在线机器学习教程未能做到的事情。这不是一个教你如何“训练自己的神经网络”或“在30分钟内学习深度学习”的30分钟教程。它是一个完整的流水线教程,介绍了你在实际从事机器学习工作时所需的所有部分,以及需要做出的所有实现决策和细节。数据集不是像MNIST或CIFAR这样的标准数据集,而是你自己创建的数据集。然后你将通过几个常规的机器学习算法,最终进入深度学习的世界!
2016年秋季,我在哈佛大学担任“数据科学高级主题(CS209/109)”研究生课程的助教(Teaching Fellow,哈佛版助教)。我负责为学生设计课程项目,本教程就是基于我为该课程设计的项目之上构建的。
更新于2018年10月24日
感谢Anshul Basia(https://github.com/AnshulBasia),本教程现在已用PyTorch重新编写。
你可以在这里访问HTML版本:https://spandan-madan.github.io/DeepLearningProject/PyTorch_version/Deep_Learning_Project-Pytorch.html 以及包含PyTorch代码的IPython Notebook版本:https://github.com/Spandan-Madan/DeepLearningProject/blob/master/PyTorch_version/Deep_Learning_Project-Pytorch.ipynb
如何引用本教程
阅读/查看本教程
要以HTML文件的形式查看项目,请访问:https://spandan-madan.github.io/DeepLearningProject/
代码
如果你希望访问代码,请查看ipython notebook文件 Deep_Learning_Project.ipynb
环境设置
Python
- 我们将使用Python 2.7。主要原因是Tensorflow与Python 3.5以上版本不兼容,并且其他一些库也与Python 3不兼容。
为了简化设置,我们将使用conda。
- 请从https://www.continuum.io/downloads安装conda 3
- 该仓库有一个conda配置文件,它将使设置变得非常简单。它是文件
deeplearningproject_environment.yml
- 然后使用命令
conda env create -f deeplearningproject_environment.yml
创建一个新的conda环境 - 现在,你可以通过以下命令激活环境:
source activate deeplearningproject
jupyter notebook
如果所有安装顺利进行,你就可以开始了!如果没有,这里有需要安装的软件包列表:requests imDbPy wget tmdbsimple seaborn sklearn Pillow keras tensorflow h5py gensim nltk stop_words
请使用 'pip install imdbpy==6.6' 安装imdbpy,因为早期版本有问题
在jupyter notebook中设置conda环境
为了能够在刚刚创建的环境中运行jupyter notebook,首先检查是否安装了python包 ipykernel
。如果没有,请使用以下命令安装:
pip install ipykernel
现在,使用以下命令将此环境添加到jupyter notebook中:
python -m ipykernel install --user --name deeplearningproject --display-name "deeplearningproject"
不言而喻,运行命令前请去掉所有单引号。
进入目录并通过 "jupyter notebook" 运行jupyter notebook,然后在浏览器中打开相应的notebook。
要安装TMDB:pip install tmdbsimple
使用 "import tmdbsimple as tmdb"
使用docker-compose设置docker容器
先决条件
- Docker https://docs.docker.com/install/
- docker compose https://docs.docker.com/compose/install/
运行docker-compose
为了在一个隔离的环境中工作并能够在多个系统上无障碍运行,你可以运行以下docker-compose命令:
docker-compose up
它将根据Dockerfile构建 deeplearningproject
镜像。然后通过docker-compose运行docker容器。有关更多信息,请参阅Docker和docker-compose文档:
然后通过你的浏览器访问http://localhost:8888中的notebook。
你应该注意到notebook已从根目录复制到notebooks文件夹,以通过绑定卷将其挂载到容器中。你所做的任何更改都将保存在主机(notebooks目录)上。
添加软件包
你可以通过更新 deeplearningproject_environment.yml
文件来向镜像(以及容器)添加conda或pip软件包,然后运行
docker-compose build
它将构建一个新的带有新conda/pip包的 deeplearningproject
镜像。停止正在运行的容器(CTRL-C
)并运行 docker-compose up
以重新运行一个新的容器。
已知常见错误
我将根据此仓库中出现的问题持续更新此部分。
- 一个已知的错误是由于Keras 2.0与某些Keras 1.2功能不兼容。如果遇到导入
VGG16
时的错误,只需使用以下命令更新keras:
sudo pip install git+git://github.com/fchollet/keras.git --upgrade
- 操作系统错误:文件打开过多 参考: https://stackoverflow.com/questions/16526783/python-subprocess-too-many-open-files 或者,关闭notebook并在同一终端中执行以下命令:
ulimit -Sn 10000
然后重新启动jupyter notebook。
希望这个仓库能帮助你了解完整的机器学习流水线!如果你发现错误,请创建issue来帮助其他使用此资源的人!
为了防止安装和设置问题,此仓库附带了一个conda环境配置文件。你唯一需要做的就是安装最新版本的conda,并使用此配置文件创建一个新环境,它将包含你完成教程所需的所有库。