balthazarneveu / mva_pepites

Access to free kaggle compute power from your command line
25 stars 2 forks source link

:computer::fire::gift: Kaggle compute power from your terminal

:free: Access to free kaggle compute power from your command line.

Here's what your runs could look like on Weights and biases...

:sos: How to use?

:bulb: What to customize?

You can run several experiments in a row using -e 1 2 3. If initialization is long (decompress datasets, preprocess etc...), it may be worth running several experiments in a row.


:chart_with_downwards_trend: Training

:id: Keep track of experiments by an integer id.

Each experiment is defined by:

:test_tube: Code to define new experiments

Remote training

Run python remote_training.py -u user1 -e X -nowb This will create a dedicated folder for training a specific experiment with a dedicated notebook.

:green_circle: First time setup

  • python remote_training.py -u user1 -e 0 --cpu --push -nowb
  • use --cpu to setup at the begining (avoid using GPU when you set up :warning: )
  • Go to kaggle and check your notifications to access your notebook.
  • Edit notebook manually
  • allow internet requires your permission (internet is required to clone the git)
    • :phone: a verified kaggle account is required
  • :key: Allow Kaggle secrets to access wandb:
    • wandb_api_key: weights and biases API key.
  • You'll need to manually edit the notebook under kaggle web page to allow secrets.
  • Quick save your notebook.
  • Now run the remote training script again, this should execute.

:heart: Don't be scared, the provided experiments will go very fast (less than 2 minutes to run on kaggle).

Local training

python train.py -e 0 1


:warning: This is fully experimental, there are probably much better ways to wrap an existing training script.

:mag: Want to contribute, new features, spotted a bug under your OS? file an issue here

:key: It is possible to work with private github repositories but it will require your github token to be inserted into kaggle secrets.

:star: Give a star to this repo if you're planning using it.