TensorCraft是Keras模型的服务器

tensorcraft的Python项目详细描述


张力器筏

Build Statustensorcraft

tensorcraft是一个服务于Keras的http服务器。 使用TensorFlow运行时的模型。

目前tensorcraft处于beta测试阶段,客户端和服务器api可能在 未来版本

此服务器解决了如下问题:

  • 模型的版本控制。
  • 模型仓库。
  • 为机器学习模型启用CI/CD。

安装

使用snap安装

这是安装tensorcraft的推荐方法。只需运行以下命令 命令:

snap install tensorcraft --devmode --edge
snap start tensorcraft

使用Docker安装

tensorcraft可以用作码头集装箱。这种方法的主要注意事项是 安装在Docker映像中的tensorflow库未编译 支持AVX指令或GPU。

docker pull netrack/tensorcraft:latest

要启动容器,请运行以下命令:

docker run -it -p 5678:5678/tcp netrack/tensorcraft

您可以选择指定卷,以便在重新启动控制器之间保持模型:

docker run -it -p 5678:5678/tcp -v tensorcraft:/var/run/tensorcraft netrack/tensorcraft

使用pypi

安装

从pypi存储库安装最新版本。

pip install tensorcraft

使用TensorCraft

路缘石要求

目前,tensorcraft只支持tensorflow保存的模型,因此 为了发布keras模型,首先必须将其保存为已保存的模型。

考虑以下路缘石模型:

fromtensorflowimportkerasfromtensorflow.kerasimportlayersinputs=keras.Input(shape=(8,),name='digits')x=layers.Dense(4,activation='relu',name='dense_1')(inputs)x=layers.Dense(4,activation='relu',name='dense_2')(x)outputs=layers.Dense(2,activation='softmax',name='predictions')(x)model=keras.Model(inputs=inputs,outputs=outputs,name='3_layer_mlp')

使用2.0 tensorflow api中的export_saved_model函数保存它:

keras.experimental.export_saved_model(model,"3_layer_mlp")

启动服务器

要启动服务器,请运行server命令:

sudo tensorcraft server

默认情况下,它在本地主机上的http://localhost:5678开始侦听unsecured端口。

默认配置将模型保存到/var/lib/tensorcraft目录。除了 该服务器需要访问/var/run目录才能保存pid文件 在那里。

推新车型

注意,tensorcraft应用程序的客户端和服务器共享相同的代码 基地。这意味着需要为 客户。这将在取消注释版本中得到改进。

模型保存到目录中后,使用tar实用程序对其进行打包。例如,这个 是前面示例中的3_layer_mlp模型的外观:

tar -cf 3_layer_mlp.tar 3_layer_mlp

现在,打包到归档文件中的模型可以被推送到 任意标记:

tensorcraft push --name 3_layer_mlp --tag 0.0.1 3_layer_mlp.tar

列出可用型号

您可以使用以下命令列出服务器上所有可用的型号:

tensorcraft list

执行list命令后,您将看到可用的型号:

3_layer_mlp:0.0.1
3_layer_mlp:latest

这是tensorcraft服务器的特性,每个发布的模型名都会导致 创建模型组。每个模型组都有它的latest标记,它引用 最新推出的模型

移除模型

使用remove命令可以删除未使用的模型:

tensorcraft remove --name 3_layer_mlp --tag 0.0.1

执行remove命令将删除模型本身,并且 模型组,when是该组中的最后一个模型。

使用模型

为了使用推送模型,tensorcraft公开rest api。示例查询 对于服务器,如下所示:

curl -X POST https://localhost:5678/models/3_layer_mlp/0.0.1/predict -d \'{"x": [[1.0, 2.1, 1.43, 4.43, 12.1, 3.2, 1.44, 2.3]]}'

许可证

代码和文档在Apache 2.0 license下发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在安卓活动上使用uncaughtException对话框   将代数象棋符号转换为棋盘布局或FEN符号的java算法   来自证书的java访问证书签名   正则表达式解析Java字符串特殊字符错误   java将linearlayout动态添加到Relativelayout中   java我怎样才能在ant中不停顿地“失败”构建?   从Java producer到Mongodb的json主题数据   java Log4J 2 Syslog Appender工作不正常   java在Processing 3中在3D对象上绘制2D文本   java Spring MVC Web服务调度程序   mysql Java持久性查找区分大小写的数据检索   java YAML解析器不带密钥的多个根文件   SpringJavaBean需要通过prototype作用域使用相同的对象   由于某种原因,应用程序运行时不会显示java xml文件   java maven在JFrog artifactory(snapshotrepo)中找不到具有第三方libs的jar文件