硬件方面,超过一半的被调查者明确表示自己的深度学习硬件是英特尔 Core i7 + 英伟达 Geforce GTX 1080(Ti)的组合。与 TitanX 相比,英伟达 Tesla 系列的应用显得更少,看来英伟达推动的商用机器学习计算卡仍然需要进一步的推广。由于资源限制,GPU 阵列的使用并不流行,而云服务也没有被大部分开发者采用(也是经费原因)。 目前,虽然人们对于多 GPU/分布式机器学习训练/处理的呼声很高,但相关的教程和可以借鉴的方法仍显欠缺,这或许是经费之外人们面临的最大难题。 四、系统 Linux 显然是深度学习的必备系统,虽然 TensorFlow 已有 Windows 支持,但大多数受访者表示自己的深度学习机器使用基于 Linux 的 Ubuntu 系统。 五、面临的难题 在搭建深度学习环境的过程中,各组件的兼容性问题一直是困扰开发者们的难题,部分开发者表示依赖关系处理比较头疼,而使用 Docker 可以部分解决这些问题。英伟达的 cuda/GPU 驱动程序安装困难也是很多调查者提到的问题。 需要配置安装很多不同的开发框架……还有扩展计算集群…… 本次深度学习开发环境调查已经结束,由于样本数量限制,这次我们得出的结论可能不甚准确。深度学习的开发环境会随着技术的发展不断进化,未来究竟是百家争鸣,还是一家独大?欢迎大家前来讨论。感谢大家对机器之心此次调查问卷的支持,获得奖品同学的礼物已经寄出。 Jupyter + Tensorflow + Nvidia GPU + Docker + Google Compute Engine 这一部分,我们编译了一篇新的深度学习开发环境配置:Jupyter + Tensorflow + Nvidia GPU + Docker + Google Compute Engine。 动机:商业上喜欢快捷、且由数据驱动的洞见,因此他们聘请了数据科学家来处理这些任务。实践性的数据科学是探索性、迭代性的过程,这个过程要求大量的计算资源和时间。数据科学家经常使用 Jupyter notebook 以更好地支持这种探索性的迭代,同时更倾向于使用 GPU 以加速 Tensorflow 项目的计算。然而,GPU 成本比较高,而计算资源也需要小心地管理以满足商业上对高效运算的需求。 近来云计算倾向于使用 Kubernetes 和 Docker 提高资源利用率。那数据科学的工具(如 Jupyter 和 GPU 等)嵌入 Docker 和 Kubernets 会更有效吗?也许这样更节约时间和内存,我前面已经用过了其他版本,但现在的环境配置是比较优秀的。 创建一个 GCE 实例 首先,创建防火墙规则,将 Jupyter(8888)和 Tensorboard(6006)添加到白名单中。 然后创建一个 GCE 实例,对于该案例: 使用的系统为 Ubuntu 16.04 LTS 分配 50GB 的启动盘 至少需要一个 K80 GPU 将 jupyter 和 tensorboard添加到你创建的防火墙规则中。 安装和确认 CUDA 能访问 GPU 使用英伟达的 CUDA 库取得访问 GPU 的权限。 下一步需要将 SSH 添加到你创建的计算节点中,然后使用脚本安装 CUDA(https://cloud.google.com/compute/docs/gpus/add-gpus): #!/bin/bash echo "Checking for CUDA and installing." # Check for CUDA and try to install. if ! dpkg-query -W cuda; then # The 16.04 installer works with 16.10. curl -O dpkg -i ./cuda-repo-ubuntu1604_8.0.61-1_amd64.deb apt-get update apt-get install cuda -y fi 然后你能使用 wget 命令 pull 来源 gist 并输入到 bash 中: wget -O - -q ' https://gist.githubusercontent.com/allenday/f426e0f146d86bfc3dada06eda55e123/raw/41b6d3bc8ab2dfe1e1d09135851c8f11b8dc8db3/install-cuda.sh ' | sudo bash如果 CUDA 安装成功了,运行 nvidia-smi 命令将返回表格显示可用的 Tesla K80 GPU: nvidia-smi 安装 Docker(-Engine) 和 Nvidia-Docker (责任编辑:本港台直播) |