dl
dl is a script for creating deep learning projects. It automates the following tasks:
- Extracting information from arXiv pages (title, author, etc).
- Creating boilerplate files (README, LICENSE etc).
- Creating Python packages using Poetry.
- Initializing Git repositories.
Installation
Install with pipx.
pipx install poetry git+https://github.com/oelin/dl
Usage
dl takes in a single argument, an arXiv URL such as https://arxiv.org/abs/2202.00273v2
. This URL is intended to point to a paper that you'll be implementing or basing your project on. In future, dl will support multi-paper projects.
dl [arXiv URL]
Example
In this example, the project being created is an implementation of StyleGAN-XL.
$ dl 'https://arxiv.org/abs/2202.00273v2'
[*] โฌ Downloading arXiv page...
[*] ๐ Extracting paper information...
[-] @paper-title = StyleGAN-XL: Scaling StyleGAN to Large Diverse Datasets
[-] @paper-author = Sauer et al.
[-] @paper-bibtex = True
[?] ๐ฎ Project title (Untitled Project): StyleGAN-XL
[?] ๐ Project slug (stylegan-xl):
[?] ๐งช Project framework (PyTorch):
[?] ๐งฉ Project dependencies (space separated): pillow
[?] ๐ Git username: oelin
[?] ๐ Git host (github.com):
[-] @project-title = StyleGAN-XL
[-] @project-slug = stylegan-xl
[-] @project-dependencies = pillow
[-] @project-framework = PyTorch
[-] @project-repository = oelin/stylegan-xl
[*] ๐ Creating project skeleton...
Created package stylegan_xl in stylegan-xl
Using version ^10.1.0 for pillow
Updating dependencies
Resolving dependencies... (0.1s)
Package operations: 1 install, 0 updates, 0 removals
โข Installing pillow (10.1.0)
Writing lock file
[+] ๐พ Wrote ./stylegan-xl/README.md (0.57 kB)
[+] ๐พ Wrote ./stylegan-xl/WRITEUP.md (0.60 kB)
[+] ๐พ Wrote ./stylegan-xl/LICENSE (1.06 kB)
[+] ๐พ Wrote ./stylegan-xl/.gitignore (0.07 kB)
[*] ๐ Initializing GIT repository...
Initialized empty Git repository in /home/oelin/projects/stylegan-xl/.git/
[+] ๐ฅณ PROJECT CREATED!
Future
- Additional project types for more specific applications (e.g.
huggingface-diffusers-project
). - Standardized project configuration format.
- Jupyter notebook automation.
- Windows and MacOS support.