DeepCell Kiosk的CLI客户端。

Kiosk-Client的Python项目详细描述


kiosk客户端

Build StatusCoverage StatusLicensePyPiPython Versions

kiosk-client是与DeepCell Kiosk交互的工具,以便创建和监视深度学习图像处理作业。它使用异步HTTP客户机treqKiosk-Frontend API同时创建和监视许多作业。所有作业完成后,costs are estimated使用集群的Grafana API。然后生成一个输出文件,其中包含每个作业的性能统计信息和生成的输出文件。在

此存储库是DeepCell Kiosk的一部分。有关Kiosk项目的更多信息可以通过Read the Docs和我们的FAQ页面获得。在

安装

使用pip

安装
pip install kiosk_client

从源安装

^{pr2}$

使用

使用CLI所需的唯一事情就是要处理的图像文件、作业类型以及DeepCell Kiosk的IP地址或FQDN。在

python -m kiosk_client path/to/image.png \
  --job-type segmentation \
  --host 123.456.789.012

也可以覆盖给定作业类型的默认模型和后处理功能。在

python -m kiosk_client path/to/image.png \
  --job-type segmentation \
  --host 123.456.789.012 \
  --model ModelName:0 \
  --post deep_watershed

基准模式

CLI还可以用于对具有高容量作业的群集进行基准测试。 先决条件是FILE存在于STORAGE_BUCKETUPLOAD_PREFIX(例如/uploads/image.png)。 还有许多其他基准测试选项,包括--upload-results和{}。 每START_DELAY秒创建一个新作业,最多COUNT个作业。 上传时间可以通过改变启动延迟来模拟。在

# from within the kiosk-client repository
python -m kiosk_client path/to/image.png \
  --job-type segmentation \
  --host 123.456.789.012 \
  --model ModelName:0 \
  --post deep_watershed \
  --start-delay 0.5 \
  --count 1000\
  --calculate_cost \
  --upload-results

在DeepCell Kiosk中运行基准测试作业是最简单的。

配置

每个作业都可以使用.env文件中的环境变量进行配置。大多数环境变量可以用命令行选项重写。使用python benchmarking --help查看选项的详细列表。在

NameDescriptionDefault Value
^{}REQUIRED: Name of job workflow.^{}
^{}REQUIRED: Hostname and port for the kiosk-frontend API server.^{}
^{}Cloud storage bucket address (e.g. ^{}). Required if using ^{} mode and ^{}.^{}
^{}Name and version of the model hosted by TensorFlow Serving (e.g. ^{}). Overrides default model for the given ^{}^{}
^{}Rescale data by this float value for model compatibility.^{}
^{}Integer value of label type.^{}
^{}Name of the preprocessing function to use (e.g. ^{}).^{}
^{}Name of the postprocessing function to use (e.g. ^{}).^{}
^{}Prefix of upload directory in the cloud storage bucket.^{}
^{}Number of seconds a job should wait between sending status update requests to the server.^{}
^{}Number of seconds between submitting each new job. This can be configured to simulate upload latency.^{}
^{}Number of seconds between completed job updates.^{}
^{}Completed jobs are expired after this many seconds.^{}
^{}Limit number of simultaneous requests to the server.^{}
^{}Number of times to run the job.^{}
^{}Number of GPUs used during the run. Used for logging.^{}
^{}Toggle for enabling/disabling logging.^{}
^{}Level of output for logging statements.^{}
^{}Filename of the log file.^{}
^{}Hostname of the Grafana server.^{}
^{}Username for the Grafana server.^{}
^{}Password for the Grafana server.^{}

谷歌云认证

当上传到Google云时,您需要使用设置为您的服务帐户JSON文件的GOOGLE_APPLICATION_CREDENTIALS设置authenticate。在

贡献

我们欢迎对kiosk-console及其相关项目的贡献。如果您感兴趣,请参考我们的Developer DocumentationCode of Conduct和{a18}。在

许可证

此软件是在修改后的Apache-2.0许可证下获得的许可证。有关详细信息,请参见LICENSE。在

版权所有

版权所有©2018-2020The Van Valen Lab加利福尼亚理工学院(Caltech),由Paul Allen家庭基金会、谷歌和美国国立卫生研究院(NIH)根据授权U24CA224309-01提供支持。 版权所有。在

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

推荐PyPI第三方库


热门话题
java JMX MBean在应用程序部署时自动注册   java如何创建现有JavaFX对象的数组   IntelliJ的java单例线程安全吗   java将Base64编码字符串转换为PDF,无需使用Javascript中的任何库(IE兼容)   使用TestNG运行多个测试套件的java   java Firebase/Android:获取当前用户电子邮件   java如何捕获和传播通配符类型参数?   java如何在安卓中使用动画翻转图像   菜单和游戏活动之间的java延迟   java如何将对象转换为JSON(不包括属性)   java无法在可运行的JavaFX中更改接口   使用jsp/servlet的java清理URL?   java grpc示例是否打算跨语言使用?   java缺少目标JNDI名称   GridBagLayout中的java非均匀列   java如何在单独的线程中执行大量WS调用并增加单个结果变量?   以前使用数据导入数据时,java无法使用save()进行插入。sql   带有单独收集的java流过滤器