iterative / cml.dev Goto Github PK
View Code? Open in Web Editor NEW๐ CML website and documentation
Home Page: https://cml.dev
License: Apache License 2.0
๐ CML website and documentation
Home Page: https://cml.dev
License: Apache License 2.0
Flesh out https://cml.dev/doc/contributing/core (follow-up to #73)
The helppage of cml-pr describes the option --token as a personal access token, but project access tokens can also be used for that. So i recommend to update the helppage by adding information about project access tokens.
I forgot to include the logos when optimizing screenshots, and the logo is huge!
It doesn't "remember" that state and breaks video player for me
This area will be updated as I figure out testing with these browsers, and what exactly is broken.
Depending on market share of incompatible browsers and the nature of required fixes, this could also be closed early. It's too soon to tell where it'll go.
The paragraph under "CML Use Cases" uses thin-font and is on a very low contrast, which I'm finding very hard to read.
Or, is that the point?
We are introducing cloud-permission-set
in the next release.
Rather than writing separate pages for GH, GL and BB, it would in many cases be easier to write one page with a button to toggle between providers (similar to https://github.com/iterative/cml-website/blob/master/content/index.mdx but far simpler).
See e.g. https://zguide.zeromq.org/docs/chapter1/ for an example of clicking on a language next to code snippets to change the language of all snippets on the page (ofc we can do a lot better design-wise).
# Installation
lorem ipsum...
<toggle>
<GitHub>
*bla bla* standard markdown...
```yml
- uses: iterative/setup-cml@v1
```
</GitHub>
<GitLab>
...
</GitLab>
<Bitbucket>
...
</Bitbucket>
</toggle>
https://facelessuser.github.io/pymdown-extensions/extensions/tabbed/
=== "GitHub"
*bla bla* standard markdown...
```yml
- uses: iterative/setup-cml@v1
```
=== "GitLab"
...
/CC @iterative/cml @julieg18 @rogermparent
None of the recent merged PRs are live (e.g. #89, #90, #91, #92 versus https://cml.dev/doc/self-hosted-runners)
E.g. it looks like favicon is too low res.
Some formats are not available according to https://realfavicongenerator.net/favicon_checker?protocol=http&site=cml.dev#.YWyLu9nMLlw (probably there are more websites like this).
We need to review all the regular fields one more time, make it a single source or truth. The same should be done to iterative.ai / dvc.org - they all should be using the same mechanism.
Just realized we are missing a social image on CML.dev. I can take care of it, but not sure where it lives and need appropriate sizing.
@casperdcl @rogermparent @julieg18
Originally posted by Hongbo-Miao September 6, 2021
Currently, my GitHub Actions workflow looks like this: when I open a pull request (change some model codes / params), CML creates a AWS EC2 instance, and DVC pull the data.
Here is my current GitHub Actions workflow:
cml-cloud-set-up-cloud:
name: CML (Cloud) - Set up cloud
runs-on: ubuntu-20.04
steps:
- name: Cancel previous runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout
uses: actions/checkout@v2
- name: Set up CML
uses: iterative/setup-cml@v1
- name: Set up cloud
shell: bash
env:
REPO_TOKEN: ${{ secrets.CML_ACCESS_TOKEN }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: |
cml-runner \
--cloud=aws \
--cloud-region=us-west-2 \
--cloud-type=t2.small \
--labels=cml-runner
cml-cloud-train:
name: CML (Cloud) - Train
needs: cml-cloud-set-up-cloud
runs-on: [self-hosted, cml-runner]
# container: docker://iterativeai/cml:0-dvc2-base1-gpu
container: docker://iterativeai/cml:0-dvc2-base1
steps:
- name: Cancel previous runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout
uses: actions/checkout@v2
- name: Set up Miniconda
uses: conda-incubator/setup-miniconda@v2
with:
miniconda-version: "latest"
activate-environment: hm-cnn
- name: Install requirements
working-directory: convolutional-neural-network
shell: bash -l {0}
run: |
conda install pytorch torchvision torchaudio --channel=pytorch
conda install pandas
conda install tabulate
pip install -r requirements.txt
- name: Pull Data
working-directory: convolutional-neural-network
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: |
dvc pull
- name: Train model
working-directory: convolutional-neural-network
shell: bash -l {0}
env:
WANDB_API_KEY: ${{ secrets.WANDB_API_KEY }}
run: |
dvc repro
- name: Write CML report
working-directory: convolutional-neural-network
shell: bash -l {0}
env:
REPO_TOKEN: ${{ secrets.CML_ACCESS_TOKEN }}
run: |
echo "# CML (Cloud) Report" >> report.md
echo "## Params" >> report.md
cat output/reports/params.txt >> report.md
cml-send-comment report.md
My dvc.yaml looks like this:
stages:
prepare:
cmd: tar -xf data/raw/cifar-10-python.tar.gz --dir=data/processed
deps:
- data/raw/cifar-10-python.tar.gz
outs:
- data/processed/cifar-10-batches-py/
main:
cmd: python main.py
deps:
- data/processed/cifar-10-batches-py/
- evaluate.py
- main.py
- model/
- train.py
params:
- lr
- train.epochs
outs:
- output/models/model.pt
After training, if I think the change is good because the performance is better based on the reports,
model.pt
needs to be uploaded to AWS S3 in my case.My question is, after dvc repro
, am I supposed to add dvc push
and then commit? Something like
- name: Train model
working-directory: convolutional-neural-network
shell: bash -l {0}
env:
WANDB_API_KEY: ${{ secrets.WANDB_API_KEY }}
run: |
dvc repro
dvc push # New added
git add . # New added
git commit -m "update dvc.lock, etc." # New added
git push origin current_pr # New added, need somehow get the current pull request name
This above method will apply when the pull request is open.
However, I kind of feeling the best moment adding would be when I decide merging because I think this is a good pull request that actually improves the machine learning performance. But at this moment, the EC2 instance has been destroyed.
Any suggestion? Thanks!
There are a number of issues with the https://cml.dev banner
npm
installation is not at all used in GitHub since we have https://github.com/iterative/setup-cml)#id
s?) Should be https://github.com/iterative/cml#local-package or https://cml.dev/doc/cml-with-npmAlso "Download" button on landing page should be updated as per (1) above.
Example:
"engines": {
"node": "14.x"
}
I wonder if we should extract the container image documentation to a separate section, instead of keeping it inside the self-hosted runners section. Images are being used in many other scenarios, like running any CML command on CI/CD systems other than GitHub Actions.
Regarding the legal requirements, there must be a section on the website with a description of how to download and/or install the software.
Suggesting to add:
A ghost 'install' button in the header on the top right. A click will show a simple flyout dialog. It closes after clicking everywhere outside the menu or after pressing the 'OK' button. The command copy button would be very useful here.
A button 'Download' in the Hero section. It should redirect to the 'https://github.com/iterative/cml#install-cml-as-a-package' page with an anchor, as well as link 'More in documentation' in the popover.
Design mockups โ Open in Figma.
With the new educational course coming out at the end of the quarter, we need to determine how people will access it from our websites.
Each website will access the same school: Iterative Tools School.
Here is information on how their domains work. Let me know how you think it's best to proceed!
video.play()
and video.pause()
return a promise and we should place our code in something like a try
and catch
block. Not doing so may be causing some errors that were caught by Sentrycatch
block to take care of other Sentry video
errors that we don't need to worry aboutThis issue is exactly what it says on the tin. I'll update this as I get an understanding of pre-commit hooks and what makes sense to port over.
Refers to 1. CML contribs as well as 2. cml.dev/doc contribs.
Implementation request for website team (if you're from CML or Documentation teams and want to discuss specifics please see #55 instead).
Blank pages corresponding to folders:
doc.cml.dev/
CML Documentation
/start/
Getting Started
/start/github/
Getting Started with GitHub <-- sub-page/ref/
Command Reference
/ref/#send-comment
cml-send-comment <-- in-page <h2>
s which show up in the ToCEach page can be blank for now (I'll fill in content) ๐ @rogermparent @julieg18
List of doc updates:
It is needed for trademark application
This issue is meant to be a hub for discussion about pre-launch preparations for the cml.dev website. This issue should close just before the site goes public.
Sorted roughly in order of priority:
Individual issues will be created and linked here. This umbrella issue is probably best used for discussion around discovering and adding new pre-release issues.
Apparently npm up && yarn format-all && yarn pretty-quick
changes files in Codespaces (Node v14) but not locally (Node v14).
When I copy the yaml and past it in vi/Notes it creates additional spaces in every single line like:
name: train-my-model
on: [push]
jobs:
run:
runs-on: [ubuntu-latest]
container: docker://dvcorg/cml-py3:latest
steps:
- uses: actions/checkout@v2
- name: cml_run
env:
repo_token: ${{ secrets.GITHUB_TOKEN }}
run: |
pip3 install -r requirements.txt
python train.py
cat metrics.txt >> report.md
cml-publish confusion_matrix.png --md >> report.md
cml-send-comment report.md
Same as with dvc.org - it's important to have for two reasons:
Migrate to Heroku.
Netlify doesn't support CF caching on top of it, obscures too many things, doesn't give any reasonable value on top of Heroku + CF.
In some cases, I need to configure special parameters for the git lab runner that is created by the CML runner. I also need to be able to set special options for running the container.
For example:
To downgrade the account we need to use CF to cache.
Given:
<!-- /some/page.md -->
<toggle>
<tab title="Foo">
</tab>
<tab title="Bar">
some text
### sub section
</tab>
</toggle>
Should be able to use:
/some/page?tab=Bar
(or /some/page#Bar
?) to auto-open the appropriate tab (p1-important
, #130)
/some/page/?tab=Bar#sub-section
(or /some/page#Bar-sub-section
?) to auto-open the tab and scroll to containing section (p2-nice-to-have
)?tab=<arg>
when navigating to a different page (p2-nice-to-have
)Other tasks:
Proposal. Discussion for @iterative/cml & @iterative/docs:
Proposed layout:
doc(s).cml.dev/
CML Documentation
/features/
Features/start/
Getting Started
/start/github/
Getting Started with GitHub/start/gitlab/
Getting Started with GitLab/guide/
User Guide/ref/
Command Reference
/ref/#pr
cml-pr/ref/#send-comment
cml-send-comment/ref/#tensorboard-dev
cml-tensorboard-devCurrently we have a single description (summary about cml) for all pages. It would be better if we updated the descriptions depending on the docs page.
Possible option
/start
, /start/github
, and /start/gitlab
.A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.