PyTorch 1.5 发布,与 AWS 合作 TorchServe!
近日,PyTorch 发布了 1.5 版本的更新,作为越来越受欢迎的机器学习框架,PyTorch 本次也带来了大的功能升级。此外, Facebook 和 AWS 还合作推出了两个重要的 PyTorch 库。
随着 PyTorch 在生产环境中的应用越来越多,为社区提供更好的工具和平台,以便高效地扩展训练和部署模型,也成了 PyTorch 的当务之急。
近日 PyTorch 1.5 发布,升级了主要的 torchvision,torchtext 和 torchaudio 库,并推出将模型从 Python API 转换为 C ++ API 等功能。
除此之外,Facebook 还和 Amazon 合作,推出了两个重磅的工具:TorchServe 模型服务框架和 TorchElastic Kubernetes 控制器。
TorchServe 旨在为大规模部署 PyTorch 模型推理,提供一个干净、兼容性好的工业级路径。
而 TorchElastic Kubernetes 控制器,可让开发人员快速使用 Kubernetes 集群,在 PyTorch 中创建容错分布式训练作业。
这似乎是 Facebook 联手亚马逊,在针对大型性能 AI 模型框架上,宣战 TensorFlow 的一个举措。
TorchServe:用于推理任务
部署机器学习模型进行规模化推理并非易事。开发人员必须收集和打包模型工件,创建安全的服务栈,安装和配置预测用的软件库,创建和使用 API 和端点,生成监控用的日志和指标,并在可能的多个服务器上管理多个模型版本。
上述每一项任务都需要大量的时间,并可能会使模型部署速度减慢数周甚至数月。此外,为低延迟在线应用优化服务是一件必须要做的事情。
此前使用 PyTorch 的开发人员,均缺乏官方支持的部署 PyTorch 模型的方法。而生产模型服务框架 TorchServe 的发布,将改变这一现状,它能够更容易地将模型投入到生产中。
在下面的例子中,将说明如何从 Torchvision 中提取训练过的模型,并使用 TorchServe 进行部署。
#Download a trained PyTorch model
wget https://download.pytorch.org/models/densenet161-8d451a50.pth
#Package model for TorchServe and create model archive .mar file
torch-model-archiver \
--model-name densenet161 \
--version 1.0 \
--model-file examples/image_classifier/densenet_161/model.py \
--serialized-file densenet161–8d451a50.pth \
--extra-files examples/image_classifier/index_to_name.json \
--handler image_classifier
mkdir model_store
mv densenet161.mar model_store/
#Start TorchServe model server and register DenseNet161 model
torchserve — start — model-store model_store — models densenet161=densenet161.mar
TorchServe 的测试版本现已可用,其特点包括:
原生态 API:支持用于预测的推理 API,和用于管理模型服务器的管理 API。
安全部署:包括对安全部署的 HTTPS 支持。 强大的模型管理功能:允许通过命令行接口、配置文件或运行时 API 对模型、版本和单个工作线程进行完整配置。
模型归档:提供执行「模型归档」的工具,这是一个将模型、参数和支持文件打包到单个持久工件的过程。使用一个简单的命令行界面,可以打包和导出为单个「 .mar」文件,其中包含提供 PyTorch 模型所需的一切。该 .mar 文件可以共享和重用。 内置的模型处理程序:支持涵盖最常见用例,如图像分类、对象检测、文本分类、图像分割的模型处理程序。TorchServe 还支持自定义处理程序。
日志记录和指标:支持可靠的日志记录和实时指标,以监视推理服务和端点、性能、资源利用率和错误。还可以生成自定义日志并定义自定义指标。 模型管理:支持同时管理多个模型或同一模型的多个版本。你可以使用模型版本回到早期版本,或者将流量路由到不同的版本进行 A/B 测试。 预构建的图像:准备就绪后,可以在基于 CPU 和 NVIDIA GPU 的环境中,部署T orchServe 的 Dockerfile 和 Docker 镜像。最新的 Dockerfiles 和图像可以在这里找到。
apiVersion: elastic.pytorch.org/v1alpha1
kind: ElasticJob
metadata:
name: imagenet
namespace: elastic-job
spec:
rdzvEndpoint: $ETCD_SERVER_ENDPOINT
minReplicas: 1
maxReplicas: 2
replicaSpecs:
Worker:
replicas: 2
restartPolicy: ExitCode
template:
apiVersion: v1
kind: Pod
spec:
containers:
- name: elasticjob-worker
image: torchelastic/examples:0.2.0rc1
imagePullPolicy: Always
args:
- "--nproc_per_node=1"
- "/workspace/examples/imagenet/main.py"
- "--arch=resnet18"
- "--epochs=20"
- "--batch-size=32"
更多精彩推荐
☞华为云跻身Gartner报告中国三强,预示云计算市场的未来变局?
☞数据库激荡40年,深入解析PostgreSQL、NewSQL演进历程
☞黑客用上机器学习你慌不慌?这7种窃取数据的新手段快来认识一下!
☞超详细!一文告诉你SparkStreaming如何整合Kafka!附代码可实践
☞Libra的Move语言初探,10行代码实现你第一个智能合约
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 习近平与武契奇的友好交往 4993491
- 2 仅有6条高铁线路盈利 4940866
- 3 贾跃亭430多亿元灰飞烟灭 4808207
- 4 “铁杆”塞尔维亚是个怎样的国家? 4755768
- 5 南宁暴雨街道被淹 冰箱水中漂浮 4635125
- 6 多元化消费激活经济新动能 4516009
- 7 家有儿女官号:刘梅当场气晕 4428604
- 8 瑞士名表遭遇断崖式大降温 4339804
- 9 经常生小病能增强免疫力?假的 4244279
- 10 尼泊尔新纸币激怒印度 4190479