MindInsight相关命令¶
查看命令帮助信息¶
mindinsight --help
查看版本信息¶
mindinsight --version
启动服务¶
MindInsight服务默认只支持本机访问,如需远程访问请修改配置文件
mindinsight\conf\constants.py
。 将文件中的HOST
修改为服务端IP,并确定启动端口已开放或关闭防火墙。
mindinsight start [-h] [--workspace <WORKSPACE>] [--port <PORT>]
[--url-path-prefix <URL_PATH_PREFIX>]
[--reload-interval <RELOAD_INTERVAL>]
[--summary-base-dir <SUMMARY_BASE_DIR>]
[--enable-debugger <ENABLE_DEBUGGER>]
[--debugger-port <DEBUGGER_PORT>]
[--offline-debugger-mem-limit <OFFLINE_DEBUGGER_MEMORY_LIMIT>]
[--max-offline-debugger-session-num <MAX_OFFLINE_DEBUGGER_SESSION_NUMBER>]
参数含义如下:
参数名 | 属性 | 功能描述 | 参数类型 | 默认值 | 取值范围 | 规则限制 |
---|---|---|---|---|---|---|
-h, --help |
可选 | 显示启动命令的帮助信息。 | - | - | - | - |
--workspace <WORKSPACE> |
可选 | MindInsight日志存放路径。 | String | $HOME/mindinsight | - | - |
--port <PORT> |
可选 | 指定Web可视化服务端口。 | Integer | 8080 | 1~65535 | - |
--url-path-prefix <URL_PATH_PREFIX> |
可选 | 指定Web服务URL地址前缀。 | String | 空 | - | URL地址前缀由斜杠(/)分隔成多个部分,各部分支持由字母/数字/下划线/连字符/点号组成的字符串,但不能是单点号(.)或双点号(..)。 |
--reload-interval <RELOAD_INTERVAL> |
可选 | 指定加载数据的时间间隔(单位:秒)。 | Integer | 3 | 0~300 | 设置为0时表示只加载一次数据。 |
--summary-base-dir <SUMMARY_BASE_DIR> |
可选 | 指定加载训练日志数据的根目录路径。 | String | ./ | - | MindInsight将遍历此路径下的直属子目录。若某个直属子目录包含日志文件,则该子目录被识别为日志文件目录,若根目录包含日志文件,则根目录被识别为日志文件目录。在ModelArts开发环境中,此参数可以指定为OBS路径,请参考ModelArts文档以了解更多信息。 |
--enable-debugger <ENABLE_DEBUGGER> |
可选 | 是否开启Debugger功能 | Boolean | False | True/False/1/0 | 只有开启了调试器,才会在MindInsight页面显示调试器入口。 |
--offline-debugger-mem-limit <OFFLINE_DEBUGGER_MEMORY_LIMIT> |
可选 | 指定单个离线调试器会话内存使用上限(单位MB),当出现内存不足导致MindInght离线调试器运行问题时,需要用户根据内存情况设置。 | Integer | 16*1024 | 6*1024~int32上限 | - |
--max-offline-debugger-session-num <MAX_OFFLINE_DEBUGGER_SESSION_NUMBER> |
可选 | 指定离线调试器会话数上限,会话数指的是能同时使用离线调试器调试的训练作业个数。 | Integer | 2 | 1~2 | - |
--workspace
日志目录说明:
模块名称 | 日志目录描述 | 日志格式 |
---|---|---|
datavisual | 训练看板模块,记录训练看板模块的所有日志 | datavisual.<PORT>.log |
debugger | 调试器模块,记录调试器模块的所有日志 | debugger.<PORT>.log |
explainer | 可解释AI模块,记录可解释AI模块解析数据的所有日志 | explainer.<PORT>.log |
gunicorn | web服务模块,记录web服务模块的所有日志 | access.<PORT>.log error.<PORT>.log |
lineage | 溯源模块,记录溯源模块的所有日志 | lineage.<PORT>.log |
notebook | 记录在ModelArts的notebook中使用MindInsight的所有日志 | notebook.<PORT>.log |
optimizer | 优化器模块,记录优化器模块的所有日志 | optimizer.<PORT>.log |
parse_summary | summary文件解析模块,记录summary文件解析模块的所有日志 | parse_summary.<PORT>.log |
profiler | 性能分析模块,记录性能分析模块的所有日志 | profiler.<PORT>.log |
restful_api | RESTFul API模块,记录RESTFul API交互日志 | restful_api.<PORT>.log |
scripts | 启停MindInsight模块,记录MindInsight启动、停止的所有日志 | start.<PORT>.log stop.<PORT>.log |
utils | 公共模块,记录公共模块的所有日志 | utils.<PORT>.log |
注:每个模块一个日志文件,但单个日志文件超出50M时,文件会被重命名进行归档,被归档的文件格式为:<module name>_<PORT>.log.<id>
。其中module name
表示模块名,PORT
表示端口号,id
表示文件重命名归档次数。
服务启动时,命令行参数值将被保存为进程的环境变量,并以
MINDINSIGHT_
开头作为标识,如MINDINSIGHT_PORT
,MINDINSIGHT_WORKSPACE
等。
执行命令:
mindinsight start --port 8000 --workspace /path/to/workspace/dir --summary-base-dir /path/summary/base/dir
如果出现以下提示,说明启动成功:
Web address: http://127.0.0.1:8000
service start state: success
查看服务进程信息¶
MindInsight向用户提供Web服务,可通过以下命令,查看当前运行的Web服务进程。
ps -ef | grep mindinsight
根据服务进程PID,可通过以下命令,查看当前服务进程对应的工作目录WORKSPACE
。
lsof -p <PID> | grep access
输出如下,可查看WORKSPACE
。
gunicorn <PID> <USER> <FD> <TYPE> <DEVICE> <SIZE/OFF> <NODE> <WORKSPACE>/log/gunicorn/access.log
停止服务¶
mindinsight stop [-h] [--port PORT]
参数含义如下:
参数名 | 属性 | 功能描述 | 参数类型 | 默认值 | 取值范围 | 规则限制 |
---|---|---|---|---|---|---|
-h, --help |
可选 | 显示停止命令的帮助信息。 | - | - | - | - |
--port <PORT> |
可选 | 指定Web可视化服务端口。 | Integer | 8080 | 1~65535 | - |
执行命令:
mindinsight stop --port 8000
如果出现以下提示,说明启动成功:
Stop mindinsight service successfully
Summary导出¶
MindInsight中提供解析Summary日志文件的工具,用户可以通过命令行将summary日志文件中的标量存入csv文件,图像存入png文件,从而便于查看和对数据进一步处理。
mindinsight parse_summary [--summary-dir] [--output]
参数含义如下:
参数名 | 属性 | 功能描述 | 参数类型 | 默认值 | 取值范围 | 规则限制 |
---|---|---|---|---|---|---|
--summary-dir <SUMMARY_DIR> |
可选 | 指定要解析的文件的目录。如果该目录中存在多个summary日志文件,则仅根据文件名解析最新的文件。 | String | ./ | - | summary文件夹需要可读可执行权限,summary文件需要可读权限,检查权限失败会报错退出 |
--output <OUTPUT> |
可选 | 指定输出的目录,将数据输出到该目录中。 | String | ./ | - | - |
执行命令:
mindinsight parse_summary --summary-dir ./ --output ./
输出目录结构如下:
└─output_{datetime}
├─image
│ └─{tag}_{step}.png
│
└─scalar.csv
其中,
output_{datetime}为输出目录下的新建目录,命名规则为 ‘output_年月日_时分秒_毫秒微秒’。
{tag}_{step}.png为训练过程中的图像,tag代表标签(tag中的特殊字符将被删除,’_’将被替换成代’/’)step代表训练步骤。
scalar.csv为标量数据(编码方式:’utf-8’)。
使用mindoptimizer进行超参调优¶
MindInsight中提供调参命令,命令行(Command-line interface, CLI)的使用方式,命令如下。
usage: mindoptimizer [-h] [--version] [--config <CONFIG>]
[--iter <ITER>]
参数含义如下:
参数名 | 属性 | 功能描述 | 参数类型 | 默认值 | 取值范围 | 规则限制 |
---|---|---|---|---|---|---|
-h, --help |
可选 | 显示启动命令的帮助信息 | - | - | - | - |
--config <CONFIG> |
必选 | 指定配置文件 | String | - | - | 物理文件路径(file:/path/to/config.yaml),文件格式为yaml |
--iter <ITER> |
可选 | 指定调参次数 | Integer | 1 | 正整数 | - |