在上面的教程中,安装好docker之后需要进行【换源】设置,按教程 *** 作即可,如果需要帮助可以留言。上面的教程可以参考的内容为:【安装Docker Desktop】--【Docker基础使用】,其余内容暂时可以不看。(我的安装路径:"C:\Program Files\Docker\Docker\Docker Desktop.exe")
1.2 测试docker安装是否正确:顺利运行hello-world
在cmd或Windows PowerShell中输入以下命令:
docker container run hello-world
下面是在Windows PowerShell终端中打印出来的日志:
此时表示指令运行成功,在Docker Desktop中的Images中你会看到新建的一个镜像:
2. 在Docker的基础上搭建MinIO搭建MinIO的目的是为了给mlflow提供模型数据的存储后台,mflow的元数据存储采用mysql。
2.1 docker下载镜像(在cmd或Windows PowerShell中输入以下命令):
docker pull minio/minio
2.2 docker配置容器:(注意:将下面的分行整合为1行后再输入)
docker run -p 9000:9000 -p 9090:9090
--name miniotest1
-e "MINIO_ROOT_USER=admin"
-e "MINIO_ROOT_PASSWORD=admin1234"
-v /mydata/minio/data:/data
-v /mydata/minio/config:/root/.minio
-d minio/minio server /data --console-address ":9000" --address ":9090"
此处分行只是因为方便展示与介绍,在cmd中输入命令时需变为1行。
name:容器的名字,可以自己设置;
MINIO_ROOT_USER:登录minio的用户名,可以自己设置,至少3位字符;(有的教程是MINIO_ACCESS_KEY,但是运行会报错。貌似是因为minio更新了,只能是MINIO_ROOT_USER);
MINIO_ROOT_PASSWORD:登录minio的密码,至少8位;(同样MINIO_SECRET_KEY也不能使用了);
9000:9000 9090:9090:分别对应控制台和API的访问端口,需要一一和后面的--console-address和--address对应;
指令运行成功,在Docker Desktop中的Containers/Apps中你会看到新建的一个容器:
2.3 访问localhost:9000,则可以直接看到UI界面在浏览器中访问localhost:9000,出现界面后输入用户名和密码登录Minio
之后创建一个bucket,命名为mlflow,用于后续mlflow配置:
3. 搭建mlflow tracking servermlflow的搭建主要是mlflow tracking server的搭建,tracking server主要是用于模型的元数据以及模型的数据存储,本篇以minio作为模型数据的存储后台,mysql作为模型元数据的存储。
前提: 平台:Win10 IDE:Visual Studio Code 或 Pycharm 需要预装:Anaconda3 3.1 安装mysql下载与安装教程:下载与安装mysql(该教程下载连接失效,可用本文的下载地址)
下载地址: https://dev.mysql.com/downloads/mysql/.
上方的教程可以参考至第六步【6. 启动MySQL】,接下来的内容参考本文内容。
对上方下载与安装教程的补充:
(1) 原文第三步(3. 创建并修改配置文件)中需要新建一个文件my.ini----可在记事本中编写后另存为ini文件;
(2) 原文第四步(4. MySQL安装初始化)中的指令是在cmd中进入mysql的bin后输入;
例如:我的安装地址为D:\Program Files\mysql,cmd中的指令如下图:(注意指令的书写规则)
(3) 原文第五步(5. 安装MySQL)中的指令“mysqld install MySQL” 更改为:
.\mysqld install MySQL
(4) 原文第七步(7. 连接MySQL)更改为下方指令:
.\mysql -u root -p
具体 *** 作如图:(初始 *** 作没有密码,直接回车就可以进入)
接下来,创建名为mlfolw_test的数据库,指令如下:
CREATE DATABASE mlflow_test;
具体 *** 作如图:
3.2 为MLflow创建虚拟环境,安装依赖此指令在Anaconda PowerShell Prompt或Anaconda Prompt中输入:
# 创建名为mlflowtest的conda环境 并安装 python 3.8(名字自定义,可以任意自定)
conda create -n mlflowtest python==3.8
#激活名为mlflowtest的conda环境(名字需与上方相同)
conda activate mlflowtest
# 安装mlfow tracking server python需要的依赖包
pip install mlflow==1.11.0 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
pip install mysqlclient -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
pip install boto3 -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn
安装完成后,接着在Anaconda PowerShell Prompt或Anaconda Prompt中输入以下指令:
#暴露出minio url以及需要的USER和PASSWORD,因为mlflow tracking server在上传模型文件时需要
set AWS__ROOT_USER=admin
set AWS__ROOT_PASSWORD=admin1234
set MLFLOW_S3_ENDPOINT_URL=http://localhost:9001
最后在Anaconda PowerShell Prompt或Anaconda Prompt启动mlflow server:
mlflow server --backend-store-uri mysql://root:@localhost/mlflow_test --host 0.0.0.0 -p 5002 --default-artifact-root s3://mlflow
–backend-store-uri是记录任务参数、指标、标签等字段信息的地址,默认会存本地路径,即这些字段信息以文件的形式存在server启动目录下的./mlruns路径中。本文是储存在名为mlflow_test的mysql数据库中,如果你的mysql有设置密码,需要填写对应密码;示例中没有是没有设置密码的情况。
–default-artifact-root是存储client端输出的大型文件,如文本、图片、模型文件等。artifacts文件默认会存在client端运行工程的./mlruns路径下,官方建议将artifacts存在Amazon S3, FTP server, HDFS等共享文件路径下。
访问localhost:5002, 就能看到如下界面:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)