|
1 | 1 | name: lcm_dreamshaper
|
| 2 | + |
2 | 3 | on:
|
3 | 4 | pull_request:
|
4 | 5 | paths:
|
5 | 6 | - image_generation/lcm_dreamshaper_v7/cpp/**
|
6 | 7 | - image_generation/common/**
|
7 | 8 | - .github/workflows/lcm_dreamshaper_cpp.yml
|
8 | 9 | - thirdparty/openvino_tokenizers
|
| 10 | + |
| 11 | +env: |
| 12 | + working_directory: "./image_generation/lcm_dreamshaper_v7/cpp/" |
| 13 | + |
9 | 14 | concurrency:
|
10 | 15 | group: ${{ github.workflow }}-${{ github.ref }}
|
11 | 16 | cancel-in-progress: true
|
| 17 | + |
12 | 18 | jobs:
|
13 | 19 | lcm_dreamshaper_v7_cpp-linux:
|
14 | 20 | runs-on: ubuntu-20.04
|
| 21 | + defaults: |
| 22 | + run: |
| 23 | + # Do not ignore bash profile files. From: |
| 24 | + # https://github.com/marketplace/actions/setup-miniconda#important |
| 25 | + shell: bash -l {0} |
15 | 26 | steps:
|
16 | 27 | - uses: actions/checkout@v4
|
17 | 28 | with:
|
18 | 29 | submodules: recursive
|
19 |
| - - uses: actions/setup-python@v4 |
| 30 | + |
| 31 | + - name: Setup conda |
| 32 | + uses: conda-incubator/setup-miniconda@v3 |
20 | 33 | with:
|
21 |
| - python-version: 3.8 |
22 |
| - - name: Initialize OpenVINO |
| 34 | + miniconda-version: "latest" |
| 35 | + activate-environment: openvino_lcm_cpp |
| 36 | + python-version: "3.10" |
| 37 | + |
| 38 | + - name: Install OpenVINO and other conda dependencies |
23 | 39 | run: |
|
24 |
| - mkdir openvino |
25 |
| - curl https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.1/linux/l_openvino_toolkit_ubuntu20_2024.1.0.15008.f4afc983258_x86_64.tgz | tar --directory ./openvino/ --strip-components 1 -xz |
26 |
| - sudo ./openvino/install_dependencies/install_openvino_dependencies.sh |
27 |
| - - name: Download / convert a model / tokenizer |
| 40 | + conda activate openvino_lcm_cpp |
| 41 | + conda update -c conda-forge --all |
| 42 | + conda install -c conda-forge openvino=2024.1.0 c-compiler cxx-compiler make cmake |
| 43 | + conda env config vars set LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH |
| 44 | + |
| 45 | + - name: Install python dependencies |
| 46 | + working-directory: ${{ env.working_directory }} |
28 | 47 | run: |
|
29 |
| - source ./openvino/setupvars.sh |
30 |
| - cd ./image_generation/lcm_dreamshaper_v7/cpp/scripts/ |
31 |
| - python -m pip install -U pip |
32 |
| - python -m pip install -r ./requirements.txt |
33 |
| - python -m pip install ../../../../thirdparty/openvino_tokenizers/ |
34 |
| - python convert_model.py -lcm "SimianLuo/LCM_Dreamshaper_v7" -t "FP16" |
| 48 | + conda activate openvino_lcm_cpp |
| 49 | + python -m pip install -r requirements.txt |
| 50 | + python -m pip install ../../../thirdparty/openvino_tokenizers/[transformers] |
| 51 | + |
| 52 | + - name: Download and convert model and tokenizer |
| 53 | + working-directory: ${{ env.working_directory }} |
| 54 | + run: | |
| 55 | + conda activate openvino_lcm_cpp |
| 56 | + export MODEL_PATH="models/lcm_dreamshaper_v7/FP16" |
| 57 | + optimum-cli export openvino --model SimianLuo/LCM_Dreamshaper_v7 --weight-format fp16 $MODEL_PATH |
| 58 | + convert_tokenizer $MODEL_PATH/tokenizer/ --tokenizer-output-type i32 -o $MODEL_PATH/tokenizer/ |
| 59 | +
|
35 | 60 | - name: Build app
|
| 61 | + working-directory: ${{ env.working_directory }} |
36 | 62 | run: |
|
37 |
| - source ./openvino/setupvars.sh |
38 |
| - cd ./image_generation/lcm_dreamshaper_v7/cpp/ |
| 63 | + conda activate openvino_lcm_cpp |
39 | 64 | cmake -DCMAKE_BUILD_TYPE=Release -S ./ -B ./build/
|
40 | 65 | cmake --build ./build/ --config Release --parallel
|
| 66 | + |
41 | 67 | - name: Run app
|
| 68 | + working-directory: ${{ env.working_directory }} |
42 | 69 | run: |
|
43 |
| - source ./openvino/setupvars.sh |
44 |
| - cd ./image_generation/lcm_dreamshaper_v7/cpp/build/ |
45 |
| - ./lcm_dreamshaper |
| 70 | + ./build/lcm_dreamshaper |
| 71 | +
|
46 | 72 | lcm_dreamshaper_v7_cpp-windows:
|
47 |
| - runs-on: windows-latest |
48 |
| - steps: |
49 |
| - - uses: actions/checkout@v4 |
50 |
| - with: |
51 |
| - submodules: recursive |
52 |
| - - uses: actions/setup-python@v4 |
53 |
| - with: |
54 |
| - python-version: 3.8 |
55 |
| - - name: Initialize OpenVINO |
56 |
| - shell: cmd |
57 |
| - run: | |
58 |
| - curl --output ov.zip https://storage.openvinotoolkit.org/repositories/openvino/packages/2024.1/windows/w_openvino_toolkit_windows_2024.1.0.15008.f4afc983258_x86_64.zip |
59 |
| - unzip ov.zip |
60 |
| - - name: Download / convert a model / tokenizer |
61 |
| - shell: cmd |
62 |
| - run: | |
63 |
| - call w_openvino_toolkit_windows_2024.1.0.15008.f4afc983258_x86_64/setupvars.bat |
64 |
| - cd ./image_generation/lcm_dreamshaper_v7/cpp/scripts/ |
65 |
| - python -m pip install -r ./requirements.txt |
66 |
| - python -m pip install ../../../../thirdparty/openvino_tokenizers/ |
67 |
| - python convert_model.py -lcm "SimianLuo/LCM_Dreamshaper_v7" -t "FP16" |
68 |
| - - name: Build app |
69 |
| - shell: cmd |
70 |
| - run: | |
71 |
| - call w_openvino_toolkit_windows_2024.1.0.15008.f4afc983258_x86_64/setupvars.bat |
72 |
| - cd ./image_generation/lcm_dreamshaper_v7/cpp/ |
73 |
| - cmake -DCMAKE_BUILD_TYPE=Release -S ./ -B ./build/ |
74 |
| - cmake --build ./build/ --config Release --parallel |
75 |
| - - name: Run app |
76 |
| - shell: cmd |
77 |
| - run: | |
78 |
| - call w_openvino_toolkit_windows_2024.1.0.15008.f4afc983258_x86_64/setupvars.bat |
79 |
| - cd ./image_generation/lcm_dreamshaper_v7/cpp/build/ |
80 |
| - call "./Release/lcm_dreamshaper.exe" |
| 73 | + runs-on: windows-latest |
| 74 | + steps: |
| 75 | + - uses: actions/checkout@v4 |
| 76 | + with: |
| 77 | + submodules: recursive |
| 78 | + |
| 79 | + - name: Setup conda |
| 80 | + uses: conda-incubator/setup-miniconda@v3 |
| 81 | + with: |
| 82 | + miniconda-version: "latest" |
| 83 | + activate-environment: openvino_lcm_cpp |
| 84 | + python-version: "3.10" |
| 85 | + |
| 86 | + - name: Install OpenVINO and other conda dependencies |
| 87 | + run: | |
| 88 | + conda activate openvino_lcm_cpp |
| 89 | + conda update -c conda-forge --all |
| 90 | + conda install -c conda-forge openvino=2024.1.0 c-compiler cxx-compiler make cmake |
| 91 | + conda env config vars set LD_LIBRARY_PATH=$CONDA_PREFIX/lib:$LD_LIBRARY_PATH |
| 92 | + |
| 93 | + - name: Install python dependencies |
| 94 | + working-directory: ${{ env.working_directory }} |
| 95 | + run: | |
| 96 | + conda activate openvino_lcm_cpp |
| 97 | + python -m pip install -r requirements.txt |
| 98 | + python -m pip install ../../../thirdparty/openvino_tokenizers/[transformers] |
| 99 | +
|
| 100 | + - name: Download and convert model and tokenizer |
| 101 | + working-directory: ${{ env.working_directory }} |
| 102 | + run: | |
| 103 | + conda activate openvino_lcm_cpp |
| 104 | + $env:MODEL_PATH='models/lcm_dreamshaper_v7/FP16' |
| 105 | + optimum-cli export openvino --model SimianLuo/LCM_Dreamshaper_v7 --weight-format fp16 $env:MODEL_PATH |
| 106 | + convert_tokenizer $env:MODEL_PATH/tokenizer/ --tokenizer-output-type i32 -o $env:MODEL_PATH/tokenizer/ |
| 107 | + |
| 108 | + - name: Build app |
| 109 | + working-directory: ${{ env.working_directory }} |
| 110 | + run: | |
| 111 | + conda activate openvino_lcm_cpp |
| 112 | + cmake -DCMAKE_BUILD_TYPE=Release -S ./ -B ./build/ |
| 113 | + cmake --build ./build/ --config Release --parallel |
| 114 | + |
| 115 | + - name: Run app |
| 116 | + working-directory: ${{ env.working_directory }} |
| 117 | + run: | |
| 118 | + & "./build/Release/lcm_dreamshaper.exe" -r --dynamic |
0 commit comments