-
- # GPU support coming soon, see https://github.com/iterative/cml/issues/1015
-
+
+ # Use LEO instead of CML to force GPU support on Bitbucket
+
+ image: iterativeai/cml:0-dvc2-base1
pipelines:
- default:
- - step:
- name: deploy-runner
- image: iterativeai/cml:0-dvc2-base1
- script:
- - |
-
- cml runner \
- --cloud=aws \
- --cloud-region=us-west \
- --cloud-type=m5.2xlarge \
- --cloud-spot \
- --labels=cml.runner
-
- - step:
- name: run
-
- runs-on: [self.hosted, cml.runner]
+ default:
+ - step:
+ name: Launch Runner and Train
+ script:
+ - |
+ cat <<EOF > leo-script.sh
+ #!/bin/bash
+ apt-get update -q && apt-get install -yq python3.9
+
+ dvc pull data
- image: iterativeai/cml:0-dvc2-base1
- script:
- - apt-get update -y
- - apt install imagemagick -y
- - pip install -r requirements.txt
+ pip3 install -r requirements.txt
+ dvc repro
+
+ EOF
+
+ - |
+ LEO_OPTIONS="--cloud=aws --region=us-west"
+ leo_id=$(leo create $LEO_OPTIONS \
+ --image="nvidia"
+ --machine="p2.xlarge" \
+ --disk-size=64 \
+ --workdir="." \
+ --output="." \
+ --environment AWS_ACCESS_KEY_ID="$AWS_ACCESS_KEY_ID" \
+ --environment AWS_SECRET_ACCESS_KEY="$AWS_SECRET_ACCESS_KEY" \
+ --script="$(cat ./leo-script.sh)"
+ )
+ leo read $LEO_OPTIONS --follow "$leo_id"
+ sleep 45 # TODO: explain
+ leo delete $LEO_OPTIONS --workdir="." --output="." \
+ "$leo_id"
- - git fetch --prune
- - dvc repro
- - echo "# Style transfer" >> report.md
- - git show origin/master:final_owl.png > master_owl.png
- - convert +append final_owl.png master_owl.png out.png
- - convert out.png -resize 75% out_shrink.png
- - echo "### Workspace vs. Main" >> report.md
- - cml publish out_shrink.png --md --title 'compare' >> report.md
- - echo "## Training metrics" >> report.md
- - dvc params diff master --show-md >> report.md
- - echo >> report.md
- - cml send-comment report.md
+ - git show origin/main:image.png > image-main.png
+ - |
+ cat <<EOF > report.md
+ # Style transfer
+ ## Workspace vs. Main
+  
+ ## Training metrics
+ $(dvc params diff main --show-md)
+ ## GPU info
+ $(cat gpu_info.txt)
+ EOF
+ - cml comment create report.md
-
+