如何确保 AWS SageMaker 无服务器计算中的软件包版本一致性?
How to ensure software package version consistency in AWS SageMaker serverless compute?
我正在学习 AWS SageMaker,它应该是机器学习的无服务器计算环境。在这种无服务器计算环境下,谁来保证软件包的一致性和版本更新?
比如我运行 SageMaker自带的demo程序,deepar_synthetic。在第二个单元格中,它执行以下命令:!conda install -y s3fs
但是,我收到以下警告消息:
解决环境:完成
==> 警告:存在更新版本的 conda。 <==
当前版本:4.4.10
最新版本:4.5.4
请通过 运行 更新 conda
$ conda update -n 基础 conda
既然是serverless compute,还需要自己更新软件包吗?
另一个例子如下。我写了几行简单的代码来找出 Jupyter notebook 中的包版本:
导入平台
将 tensorflow 导入为 tf
打印(platform.python_version())
打印(tf.版本)
但是,我收到以下警告消息:
/home/ec2-user/anaconda3/envs/tensorflow_p36/lib/python3.6/importlib/_bootstrap.py:219:RuntimeWarning:模块 'tensorflow.python.framework.fast_tensor_util' 的编译时版本 3.5 与运行时版本 3.6 不匹配
return f(*args, **kwds)
/home/ec2-user/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/h5py/init.py:36:FutureWarning:将 issubdtype 的第二个参数从 float
转换为 np.floating
已弃用。将来,它将被视为np.float64 == np.dtype(float).type
。
从 ._conv 导入 register_converters 为 _register_converters
打印仍然有效,我得到的结果如下所示:
3.6.4
1.4.0
我想知道我必须做什么才能使程序包保持一致,这样我就不会收到警告消息。谢谢
如今,SageMaker Notebook 实例是托管的 EC2 实例,但用户仍然可以以 root 身份完全控制 Notebook 实例。您具有通过 Jupyter 终端安装缺少的库的全部能力。
要访问终端,请打开您的笔记本实例到主页,然后单击右上角的下拉菜单:“新建”->“终端”。
注意:默认情况下,conda 安装到根环境。
以下是您可以按照 https://conda.io/docs/user-guide/tasks/manage-environments.html 了解如何在特定 conda 环境中安装库的说明。
一般来说,您需要以下命令,
conda env list
其中列出了您所有的 conda 环境
source activate <conda environment name>
例如来源激活 python3
conda list | grep <package>
例如康达清单 | grep numpy
列出当前的软件包版本
pip install numpy
或
conda install numpy
注意:SageMaker 团队会定期将新版本的库发布到笔记本实例上。要获取新库,您可以停止并启动笔记本实例。
如果您对默认情况下希望看到的库有建议,可以在 https://forums.aws.amazon.com/forum.jspa?forumID=285 . Alternatively, you can bootstrap your Notebook Instances with Lifecycle Configurations to install custom libraries. More details here: https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateNotebookInstanceLifecycleConfig.html
下创建一个论坛 post
我正在学习 AWS SageMaker,它应该是机器学习的无服务器计算环境。在这种无服务器计算环境下,谁来保证软件包的一致性和版本更新?
比如我运行 SageMaker自带的demo程序,deepar_synthetic。在第二个单元格中,它执行以下命令:!conda install -y s3fs
但是,我收到以下警告消息:
解决环境:完成 ==> 警告:存在更新版本的 conda。 <== 当前版本:4.4.10 最新版本:4.5.4 请通过 运行 更新 conda $ conda update -n 基础 conda
既然是serverless compute,还需要自己更新软件包吗?
另一个例子如下。我写了几行简单的代码来找出 Jupyter notebook 中的包版本:
导入平台
将 tensorflow 导入为 tf
打印(platform.python_version())
打印(tf.版本)
但是,我收到以下警告消息:
/home/ec2-user/anaconda3/envs/tensorflow_p36/lib/python3.6/importlib/_bootstrap.py:219:RuntimeWarning:模块 'tensorflow.python.framework.fast_tensor_util' 的编译时版本 3.5 与运行时版本 3.6 不匹配
return f(*args, **kwds)
/home/ec2-user/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/h5py/init.py:36:FutureWarning:将 issubdtype 的第二个参数从 float
转换为 np.floating
已弃用。将来,它将被视为np.float64 == np.dtype(float).type
。
从 ._conv 导入 register_converters 为 _register_converters
打印仍然有效,我得到的结果如下所示:
3.6.4 1.4.0
我想知道我必须做什么才能使程序包保持一致,这样我就不会收到警告消息。谢谢
如今,SageMaker Notebook 实例是托管的 EC2 实例,但用户仍然可以以 root 身份完全控制 Notebook 实例。您具有通过 Jupyter 终端安装缺少的库的全部能力。
要访问终端,请打开您的笔记本实例到主页,然后单击右上角的下拉菜单:“新建”->“终端”。 注意:默认情况下,conda 安装到根环境。
以下是您可以按照 https://conda.io/docs/user-guide/tasks/manage-environments.html 了解如何在特定 conda 环境中安装库的说明。
一般来说,您需要以下命令,
conda env list
其中列出了您所有的 conda 环境
source activate <conda environment name>
例如来源激活 python3
conda list | grep <package>
例如康达清单 | grep numpy 列出当前的软件包版本
pip install numpy
或
conda install numpy
注意:SageMaker 团队会定期将新版本的库发布到笔记本实例上。要获取新库,您可以停止并启动笔记本实例。
如果您对默认情况下希望看到的库有建议,可以在 https://forums.aws.amazon.com/forum.jspa?forumID=285 . Alternatively, you can bootstrap your Notebook Instances with Lifecycle Configurations to install custom libraries. More details here: https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateNotebookInstanceLifecycleConfig.html
下创建一个论坛 post