AWS SageMaker pd.read_pickle () не работает, а read_csv () работает? - PullRequest
0 голосов
/ 13 ноября 2018

Недавно я пытался обучить некоторые модели на экземпляре ноутбука AWS SageMaker jupyter.

Все работало очень хорошо, пока я не попытался загрузить какой-либо пользовательский набор данных (REDD) через файлы.

У меня есть кадры данных, хранящиеся в файлах Pickle (.pkl) в корзине S3. Мне не удалось прочитать их в sagemaker, поэтому я решил преобразовать их в csv, так как это, похоже, работало, но я столкнулся с проблемой. Эти данные имеют индекс типа datetime64, и при использовании .to_csv() этот индекс преобразуется в чистый текст, и он теряет свою структуру данных (и мне нужно сохранить этот конкретный индекс для правильного построения.)

Поэтому я решил снова попробовать файлы Pickle, но не могу заставить его работать и не знаю почему.

Следующий код для работ CSV, но я не могу использовать его из-за проблемы с индексом:

bucket = 'sagemaker-peno'
houses_dfs = {}
data_key = 'compressed_data/'
data_location = 's3://{}/{}'.format(bucket, data_key)
for file in range(6):
    houses_dfs[file+1] = pd.read_csv(data_location+'house_'+str(file+1)+'.csv', index_col='Unnamed: 0')

Но этот код НЕ работает, даже если он использует почти такой же синтаксис:

bucket = 'sagemaker-peno'
houses_dfs = {}
data_key = 'compressed_data/'
data_location = 's3://{}/{}'.format(bucket, data_key)
for file in range(6):
    houses_dfs[file+1] =  pd.read_pickle(data_location+'house_'+str(file+1)+'.pkl')

Да, это 100% правильный путь, потому что файлы csv и pkl хранятся в одном каталоге (сжатые_данные).

Это выдает мне эту ошибку при использовании метода Pickle:

FileNotFoundError: [Errno 2] No such file or directory: 's3://sagemaker-peno/compressed_data/house_1.pkl'

Я надеюсь найти кого-то, кто имел дело с этим раньше и может решить проблему read_pickle() или, в качестве альтернативы, исправить мою проблему типа datetime64 с помощью csv.

Заранее спасибо!

1 Ответ

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

read_pickle () любит полный путь больше, чем относительный путь от того места, где он был запущен.Это исправило мою проблему.

...