Проблемы при обновлении библиотек ML с использованием конфигураций жизненного цикла AWS Sagemaker Notebook - PullRequest
0 голосов
/ 12 ноября 2018

Я использую следующий скрипт для автоматизации обновления моих библиотек.

Мой скрипт (Start Notebook):

#!/bin/bash

set -e

echo 'Before:'
echo $PATH

export PATH=/home/ec2-user/anaconda3/envs/JupyterSystemEnv/bin:/home/ec2-user/anaconda3/bin/:/usr/libexec/gcc/x86_64-amazon-linux/4.8.5:/usr/local/cuda/bin:/usr/local/bin:/opt/aws/bin:/usr/local/mpi/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:$PATH

echo 'After:'
echo $PATH

echo `pwd`

source /home/ec2-user/anaconda3/bin/activate tensorflow_p36

pip install pandas --upgrade

pip install tensorflow-gpu --upgrade

Ошибка:

Я получаю следующую ошибку, как я могу указать правильное местоположение (/ home / ec2-пользователь) керас вместо / root

cp: cannot stat ‘/root/.keras/keras_tensorflow.json’: No such file or directory 

Полные журналы:

Before:
/sbin:/bin:/usr/sbin:/usr/bin
After:
/home/ec2-user/anaconda3/envs/JupyterSystemEnv/bin:/home/ec2-user/anaconda3/bin/:/usr/libexec/gcc/x86_64-amazon-linux/4.8.5:/usr/local/cuda/bin:/usr/local/bin:/opt/aws/bin:/usr/local/mpi/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/sbin:/bin:/usr/sbin:/usr/bin
/home/ec2-user
cp: cannot stat ‘/root/.keras/keras_tensorflow.json’: No such file or directory

Без настройки жизненного цикла:

Все команды в приведенном выше сценарии работают.

Фактический файл keras.json существует, в / home / ec2-user, когда я удаляю конфигурацию жизненного цикла со следующим значением.

sh-4.2$ cat .keras/keras.json
{
    "backend": "tensorflow"
}

1 Ответ

0 голосов
/ 13 ноября 2018

Похоже, pip install в вашем случае выполняется "снаружи" virtualenv

попробуйте изменить с:

source /home/ec2-user/anaconda3/bin/activate tensorflow_p36

на:

source /home/ec2-user/anaconda3/bin/activate tensorflow_p36 && pip install pandas tensorflow-gpu --upgrade

и удалить лишние строки

...