Comments (2)
MIDI: Development environment for machine learning
Manage your machine learning environments, easily.
🐍 No docker, only python - Write python code to build the development environment, we help you take care of Docker.
📟 Built-in jupyter/vscode - Provision jupyter notebooks and vscode remote in the image, remote development is possible.
👨💻 Manage code and data - Help you manage the source code and dataset in the environment
⏱️ Save time - Better cache management to save your time, keep the focus on the model, instead of dependencies
☁️ Local & cloud - Run the environment locally or in the cloud, without any code change
🐳 Container native - Leverage container technologies but no need to learn how to use them, we optimize it for you
🤟 Infrastructure as code - Describe your project in a declarative way, 100% reproducible
Install
Linux
sudo /bin/sh -c 'wget https://github.com/tensorchord/midi/releases/latest/download/midi-linux-amd64 -O /usr/local/bin/midi && chmod +x /usr/local/bin/midi && /usr/local/bin/midi bootstrap'
Why use MIDI
How MIDI works
Documentation
Get started
A simple example
base(
os = "ubuntu",
lang = "python3.6"
)
shell("zsh")
apt_source("""
deb https://mirror.sjtu.edu.cn/ubuntu focal main restricted
deb https://mirror.sjtu.edu.cn/ubuntu focal-updates main restricted
deb https://mirror.sjtu.edu.cn/ubuntu focal universe
deb https://mirror.sjtu.edu.cn/ubuntu focal-updates universe
deb https://mirror.sjtu.edu.cn/ubuntu focal multiverse
deb https://mirror.sjtu.edu.cn/ubuntu focal-updates multiverse
deb https://mirror.sjtu.edu.cn/ubuntu focal-backports main restricted universe multiverse
deb http://archive.canonical.com/ubuntu focal partner
deb https://mirror.sjtu.edu.cn/ubuntu focal-security main restricted universe multiverse
""")
install_package(
name = ['vscode', 'gdb>9', 'g++'],
optional = True
)
if flags.cuda == True:
install_package("cuda")
git_repo(
local = "/code/repo",
remote = "[email protected]:gaocegege/test.git",
)
ssh()
before_stop(
git_push = True,
)
run_entrypoint(
cmd = "python main.py",
cwd = "/code/repo",
)
$ MIDI up
Installing dependencies...
Setting up IDEs...
Syncing data...
Finished! 😀
$ project-1 > pip install torch // Already in the docker
Install Torch ....
$ project-1 > exit
$ MIDI down
You've installed torch in the dev environment, do you want to add it to the env file? [y/n]
# Create customized zsh config
$ MIDI up --fresh # start a fresh dev environment
$ fresh > sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
$ fresh > vi ~/.zshrc
# Change some personal config
$ fresh > exit
$ MIDI generate package --fresh
# We get all files modified in the docker by docker diff and pack it into a single file, which can be used later in other container
More examples
Features
from envd.
I think we can close it now, although our README is still too simple, sometimes naive.
from envd.
Related Issues (20)
- feat: Improve error message
- bug: recent changelog loses some commits HOT 3
- refactor: bootstrap buildkit config file
- feat: create an pre-defined dev env in one command
- bug: wrong binary name in CICD HOT 1
- feat: disable buildkit merge op when using moby builder HOT 2
- bug: ERROR exporting to oci image format when the first character of directory name is underline HOT 1
- bug: bootstrap failed with timeout 5s: cannot connect to buildkitd in version 0.3.36 HOT 8
- feat: support Nydus type image builder HOT 8
- bug: No linux/arm64 wheel in 0.3.37 release HOT 3
- feat: support `io.copy` from another image
- bug: envd up failed in debug mode HOT 1
- bug: bootstrap does not work in docker-from-docker setting HOT 6
- feat: support `pyproject.toml` HOT 3
- bug: use-proxy not working HOT 5
- feat: the "evnd up" command adds a gpu-set parameter that looks like "docker run --gpus" HOT 2
- feat: add `envd shutdown` command to deinitialize envd HOT 2
- bug: ERROR importing cache manifest from docker.io/tensorchord/python-cache:envd-v0.3.43 1.8s HOT 2
- BUG: Cannot build image based on envd build image HOT 1
- feat: Publish ports HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from envd.