Есть ли способ получить доступ к данным с одного диска с помощью Google Colab? - PullRequest
3 голосов
/ 17 апреля 2019

Я начал использовать Google Colab для обучения нейронных сетей, однако данные у меня довольно большие (4 ГБ и 18 ГБ). У меня все эти данные в настоящее время хранятся на одном диске, и на моем диске Google недостаточно места для передачи этих файлов.

Можно ли получить прямой доступ к данным с одного диска в Google Colab?

Я попытался напрямую загрузить данные со своего собственного компьютера, однако мне кажется, что этот процесс занимает слишком много времени, и на моей машине действительно недостаточно места для хранения этих файлов. Я также попытался добавить загрузку = 1 после? однако в гиперссылке файла он не загружается, а отображается только гиперссылка. При использовании wget выдает «ОШИБКА 403: Запрещено». сообщение.

Я бы хотел, чтобы файл google colab загрузил этот zip-файл и распаковал данные из него, чтобы подготовить тренировку.

1 Ответ

2 голосов
/ 19 апреля 2019

Вы можете использовать OneDriveSDK , который доступен для загрузки в индексе PyPi.

Сначала мы установим его в Google Colab, используя:

!pip install onedrivesdk

Процесс слишком длинный, чтобы его можно было здесь разместить. Вы должны сначала подтвердить свою личность, а затем легко загружать / скачивать файлы.

Вы можете авторизоваться, используя этот код:

import onedrivesdk 

redirect_uri = 'http://localhost:8080/' client_secret = 'your_client_secret' client_id='your_client_id' api_base_url='https://api.onedrive.com/v1.0/' 
scopes=['wl.signin', 'wl.offline_access', 'onedrive.readwrite'] 
http_provider = onedrivesdk.HttpProvider() 
auth_provider = onedrivesdk.AuthProvider( http_provider=http_provider, client_id=client_id, scopes=scopes) 
client = onedrivesdk.OneDriveClient(api_base_url, auth_provider, http_provider) 
auth_url = client.auth_provider.get_auth_url(redirect_uri) 

# Ask for the code 
print('Paste this URL into your browser, approve the app\'s access.') 
print('Copy everything in the address bar after "code=", and paste it below.') print(auth_url) 
code = input('Paste code here: ')  client.auth_provider.authenticate(code, redirect_uri, client_secret)

Это приведет к коду, который вам нужно вставить в браузер и снова в консоль для аутентификации.

Вы можете скачать файл, используя:

root_folder = client.item(drive='me', id='root').children.get() 
id_of_file = root_folder[0].id client.item(drive='me', id=id_of_file).download('./path_to_file')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...