首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

从零开始制作PyTorch的Singularity容器镜像

在前面的博客中,我们大篇幅的使用到了Docker和Singularity这两种常见的容器化编程环境解决方案,使得我们的各个编程环境能够更好的隔离。如果要展开讲解容器化编程环境的重要性的话,我们有可能会发现容器并不是那么的必须:比如解决python库的依赖冲突问题,我们可以选择使用python的virtualenv或者conda的虚拟环境;比如解决gcc的版本依赖冲突,我们可以手动配置和选择对应的版本;比如对于我们没有root权限和对外网络的环境,想要安装一些工具可以采用源码编译安装。那么,这些种种的问题,如果我们采用Singularity的方案,就可以一次性的解决。而且容器化是一个趋势,比如各种的机器学习框架都会提供容器版本的安装方案,像MindSpore和Tensorflow等等。这里我们尝试使用Singularity的容器def文件(类似于Docker的Dockerfile,而且兼容Docker的镜像),去构造一个Pytorch专属的编程环境。

01

TensorRT安装及使用教程「建议收藏」

一般的深度学习项目,训练时为了加快速度,会使用多 GPU 分布式训练。但在部署推理时,为了降低成本,往往使用单个 GPU 机器甚至嵌入式平台(比如 NVIDIA Jetson)进行部署,部署端也要有与训练时相同的深度学习环境,如 caffe,TensorFlow 等。由于训练的网络模型可能会很大(比如,inception,resnet 等),参数很多,而且部署端的机器性能存在差异,就会导致推理速度慢,延迟高。这对于那些高实时性的应用场合是致命的,比如自动驾驶要求实时目标检测,目标追踪等。所以为了提高部署推理的速度,出现了很多轻量级神经网络,比如 squeezenet,mobilenet,shufflenet 等。基本做法都是基于现有的经典模型提出一种新的模型结构,然后用这些改造过的模型重新训练,再重新部署。

03

掌握TensorFlow1与TensorFlow2共存的秘密,一篇文章就够了

TensorFlow是Google推出的深度学习框架,也是使用最广泛的深度学习框架。目前最新的TensorFlow版本是2.1。可能有很多同学想跃跃欲试安装TensorFlow2,不过安装完才发现,TensorFlow2与TensorFlow1的差别非常大,基本上是不兼容的。也就是说,基于TensorFlow1的代码不能直接在TensorFlow2上运行,当然,一种方法是将基于TensorFlow1的代码转换为基于TensorFlow2的代码,尽管Google提供了转换工具,但并不保证能100%转换成功,可能会有一些瑕疵,而且转换完仍然需要进行测试,才能保证原来的代码在TensorFlow2上正确运行,不仅麻烦,而且非常费时费力。所以大多数同学会采用第二种方式:在机器上同时安装TensorFlow1和TensorFlow2。这样以来,运行以前的代码,就切换回TensorFlow1,想尝鲜TensorFlow2,再切换到TensorFlow2。那么具体如何做才能达到我们的目的呢?本文将详细讲解如何通过命令行的方式和PyCharm中安装多个Python环境来运行各个版本TensorFlow程序的方法。

04
领券