0

我正在学习 AWS SageMaker,它应该是机器学习的无服务器计算环境。在这种无服务器计算环境下,谁来保证软件包的一致性和更新版本?

例如,我运行了 SageMaker 附带的演示程序 deepar_synthetic。在第二个单元格中,它执行以下命令: !conda install -y s3fs

但是,我收到以下警告消息:

解决环境:完成 ==> 警告:存在较新版本的 conda。<== 当前版本:4.4.10 最新版本:4.5.4 请通过运行 $ conda update -n base conda 来更新 conda

既然是无服务器计算,我还应该自己更新软件包吗?

另一个例子如下。我写了几行简单的代码来找出 Jupyter notebook 中的包版本:

进口平台

将张量流导入为 tf

打印(平台.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不匹配返回f(*args, **kwds) /home/ec2-user/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/h5py/init .py :36:FutureWarning:issubdtype 的第二个参数从floattonp.floating已弃用。将来,它将被视为np.float64 == np.dtype(float).type. 从 ._conv 导入 register_converters 作为 _register_converters

打印仍然有效,我得到了如下所示的结果:

3.6.4 1.4.0

我想知道我必须做些什么才能使包保持一致,这样我就不会收到警告消息。谢谢。

4

1 回答 1

0

如今,SageMaker Notebook Instances 是托管 EC2 实例,但用户仍以 root 身份完全控制 Notebook Instance。您拥有通过 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> 

例如 conda 列表 | grep numpy 列出当前的软件包版本是什么

pip install numpy 

或者

conda install numpy 

注意:SageMaker 团队会定期将新版本的库发布到笔记本实例上。要获取新库,您可以停止并启动笔记本实例。

如果您对默认情况下希望查看的库有建议,可以在https://forums.aws.amazon.com/forum.jspa?forumID=285下创建论坛帖子。或者,您可以使用生命周期配置引导您的笔记本实例以安装自定义库。更多详细信息:https ://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateNotebookInstanceLifecycleConfig.html

于 2018-07-20T19:32:06.593 回答