Проблема с загрузкой файлов при локальном запуске ноутбука Jupter против Google Colab, так как порядок файлов данных, кажется, отличается - PullRequest
1 голос
/ 09 января 2020

Для загрузки данных я использую следующий код для данных, которые находятся на Google Drive.

import glob
dataAD = glob.glob('ADNI_komplett/AD/*.nii.gz')
dataLMCI = glob.glob('ADNI_komplett/LMCI/*.nii.gz')
dataCN = glob.glob('ADNI_komplett/CN/*.nii.gz')
dataFiles = dataAD + dataLMCI + dataCN

Мне нужно получить доступ к тем же данным в блокноте jupyter на моем локальном компьютере, для которого я загружая данные с google drive на мой компьютер и пытаясь загрузить файлы, используя тот же код, что и выше.

Но я заметил, что порядок загрузки файлов отличается в colab vs jupyter. Добавление снимков экрана, чтобы показать разницу

Проверка снимков экрана. На левой стороне скриншота - код, запущенный на моем компьютере в jupyter, а справа - код, запускаемый в colab. Как вы можете заметить из выделенного региона; в jupyter загружено 1-е имя файла AD \ mwp1ADNI_002_S_0729_MR_MT1 , тогда как в colab загружен 1-й файл AD / mwp1AD_4001_037_MR_MT1 , а также из На втором скриншоте видно, что порядковый номер также отличается.

Мне нужно поддерживать порядок как в колабе, так и в юпитере. Любое предложение по этой проблеме приветствуется.

1 Ответ

0 голосов
/ 09 января 2020

glob возвращает файлы в порядке их появления в файловой системе (см. Как упорядочен Pythons glob.glob? ). Колаборатория работает на архитектуре файловой системы, отличной от вашей локальной среды исполнения Jupyter, и поэтому неудивительно, что порядки отличаются.

Если вы хотите, чтобы файлы были перечислены в кроссплатформенном порядке того же порядка, я бы предложил сортировка результатов в Python; то есть

dataAD = sorted(glob.glob('ADNI_komplett/AD/*.nii.gz'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...