
Как устроен Google Colab
Google Colab — отличный инструмент для анализа данных, машинного обучения и разработки на Python. Он избавляет от хлопот с настройкой среды на компьютере. Однако управление файлами часто ставит в тупик новичков и даже опытных пользователей.
Где хранятся файлы? Почему они пропадают? Как загружать, скачивать или надёжно сохранять данные? Здесь разберём всё по шагам.
Сразу развеем главное заблуждение: Google Colab не похож на обычный компьютер. При каждом запуске ноутбука создаётся временная виртуальная машина (VM). После завершения сессии всё на ней удаляется. Следовательно:
- Файлы, сохранённые локально, существуют недолго
- При сбросе среды выполнения они исчезают
Основная рабочая директория по умолчанию:
/contentЛюбой контент, помещённый в /content, пропадёт после сброса среды выполнения.
Просмотр файлов в Colab
Существует два простых способа увидеть содержимое директорий.
Способ 1: Через графический интерфейс
Это лучший вариант для начинающих:
- Откройте боковую панель слева
- Нажмите на значок папки
- Просмотрите содержимое
/content
Так удобно быстро оценить ситуацию.
Способ 2: С помощью Python
Подходит для сценариев или отладки путей.
import os
os.listdir('/content')Загрузка и скачивание файлов
Допустим, у вас есть набор данных или CSV-файл на компьютере. Первый вариант — загрузка через код.
from google.colab import files
files.upload()Откроется диалог выбора файлов, после чего они появятся в /content. Такие файлы временные, если их не перенести.
Второй вариант — перетаскивание. Метод простой, но хранение остаётся временным.
- Откройте панель файлов (слева)
- Перетащите файлы прямо в
/content
Для скачивания файла на компьютер:
from google.colab import files
files.download('model.pkl')Браузер сразу загрузит файл. Это работает с CSV, моделями, логами и изображениями.
Чтобы файлы пережили сброс среды, подключайте Google Drive:
from google.colab import drive
drive.mount('/content/drive')После авторизации Drive появится по пути:
/content/drive/MyDrive/Сюда можно сохранять данные навсегда.
Рекомендуемая структура папок для проектов
Беспорядок в Drive быстро превращается в проблему. Полезная и повторно используемая структура:
MyDrive/
└── ColabProjects/
└── My_Project/
├── data/
├── notebooks/
├── models/
├── outputs/
└── README.mdДля удобства задавайте пути через переменные:
BASE_PATH = '/content/drive/MyDrive/ColabProjects/My_Project'
DATA_PATH = f'{BASE_PATH}/data/train.csv'Сохранение файла навсегда с помощью Pandas:
import pandas as pd
df.to_csv('/content/drive/MyDrive/data.csv', index=False)Загрузка позже:
df = pd.read_csv('/content/drive/MyDrive/data.csv')Работа с ZIP-архивами
Распаковка ZIP:
import zipfile
with zipfile.ZipFile('dataset.zip', 'r') as zip_ref:
zip_ref.extractall('/content/data')Управление файлами через команды оболочки
Colab поддерживает команды Linux с префиксом !.
!pwd
!ls
!mkdir data
!rm file.txt
!cp source.txt destination.txtЭто упрощает автоматизацию. Со временем вы будете использовать часто.
Скачивание файлов прямо из интернета
Вместо ручной загрузки применяйте wget:
!wget https://example.com/data.csvИли библиотеку Requests в Python:
import requests
r = requests.get(url)
open('data.csv', 'wb').write(r.content)Метод идеален для датасетов и предобученных моделей.
Дополнительные нюансы
Ограничения по хранилищу
Учитывайте лимиты:
- Диск VM в Colab — около 100 ГБ (временно)
- Хранилище Google Drive зависит от вашей квоты
- Загрузка через браузер ограничена примерно 5 ГБ
Для больших датасетов планируйте заранее.
Полезные советы
- Подключайте Drive в начале ноутбука
- Выносите пути в переменные
- Храните исходные данные в режиме только чтение
- Разделяйте данные, модели и результаты по папкам
- Добавляйте README для себя в будущем
Когда отказаться от Google Drive
Не используйте Drive, если:
- Обучаете на огромных датасетах
- Нужна высокая скорость ввода-вывода
- Требуется распределённое хранилище
В таких случаях подойдут:
Итоги
Когда поймёте принципы управления файлами в Colab, рабочий процесс сильно упростится. Больше не придётся беспокоиться о пропавших данных или переписывать код. Эти приёмы помогут проводить чистые эксперименты и плавно работать с данными.