From bd57ff3ce78d769fc04a914c4838b2d949050664 Mon Sep 17 00:00:00 2001 From: zhulinJulia24 <145004780+zhulinJulia24@users.noreply.github.com> Date: Tue, 27 Feb 2024 17:20:11 +0800 Subject: [PATCH] Add more models into daily run (#710) Co-authored-by: zhulin1 --- .github/workflows/daily_tests.yaml | 4 +- tests/bamboo.jpeg | Bin 0 -> 1691 bytes tests/image.webp | Bin 0 -> 14644 bytes tests/panda.jpg | Bin 0 -> 2873 bytes tests/test_hf_model.py | 165 +++++++++++++++++++++++++++-- 5 files changed, 157 insertions(+), 12 deletions(-) create mode 100644 tests/bamboo.jpeg create mode 100644 tests/image.webp create mode 100644 tests/panda.jpg diff --git a/.github/workflows/daily_tests.yaml b/.github/workflows/daily_tests.yaml index 1e1376f..1a8285f 100644 --- a/.github/workflows/daily_tests.yaml +++ b/.github/workflows/daily_tests.yaml @@ -27,7 +27,7 @@ jobs: conda create -n internlm-model-latest --clone ${CONDA_BASE_ENV} source activate internlm-model-latest pip install transformers==${{ matrix.transformers-version }} - pip install sentencepiece + pip install sentencepiece auto-gptq srun -p ${SLURM_PARTITION} --kill-on-bad-exit=1 --job-name=${GITHUB_RUN_ID}-${GITHUB_JOB} --gpus-per-task=2 pytest -s -v --color=yes ./tests/test_hf_model.py conda deactivate - name: load_latest_hf_model @@ -36,7 +36,7 @@ jobs: conda create -n internlm-model-latest --clone ${CONDA_BASE_ENV} source activate internlm-model-latest pip install transformers - pip install sentencepiece + pip install sentencepiece auto-gptq srun -p ${SLURM_PARTITION} --kill-on-bad-exit=1 --job-name=${GITHUB_RUN_ID}-${GITHUB_JOB} --gpus-per-task=2 pytest -s -v --color=yes ./tests/test_hf_model.py conda deactivate - name: remove_env diff --git a/tests/bamboo.jpeg b/tests/bamboo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..7a495cb2b7484a910555660fef04ee989092b735 GIT binary patch literal 1691 zcmb7;c~sJg8is#>pdb*7jw^~tnWn{3Zngnq0!r^)dq#+uqua7jr;ddEYm=P^4%m@Ul-4t6ZYX>rc zVCQ1zK&3l6IuiFD_H;eyK{@0||0Dsy;c%or(in|4rjrOH`u`p6Ab`~a_5%zEhy;MK zAP5$u9R|z*01N?rn)^?nFhEBa0s`+qDh2?9z)%PT4Ap`BmxI6%9V`IFSyAy`92hCW zfNv<4k1tr$j;`gEf4B2u3IZSi?fU$4ix%N7YGbMusT*$FB~Ug z4bRV$FF;AOaL%= z?{_9gq_K>B-rYDB-Y~kqBrB)JsbUQ3PHk>3tFa2P4I><;cRbA>oSwQ{l2sosH0hvJ z+ZulD#$S=GnxP)yU^n_tJXC6d{rn|vqp7SUXKNXMt}`Gyn4HK+Q#Yn}R@}RkkSN=#J19?ldxpUG$|Z7%zlX6O*T zr`dl0;K%KTUmvimnm?~22xl6W$iT>t*M)Fe7>ePI|2`Vqs#ox=jsnSq$O)Uy5Dtrd zpt&uBCa#sDBq{qQW`_&s=dz1t7tyE0j~2&X!1{@vI^> zluq;d^o%U#zNi?rXxZO6ReH!^)jZN=$TG9{dEPws&1bLCu75`6SJ+)szuI>bWiYHB zqBxBYJSnjhZirlNC0|goM3cs4G9T{gUK}R%5Lm z4}Ir1d+4x^5B%%GW1XC@biL2*X{ogRb^Nv->^ra0LK>(qJcS6Pd8ABj)GkSScoJFh zi*);kY%>);`-o;Mq8PE~L`-A_W(4{;?^b{i@n$P)KDpNaS*TlFn9o){BfisL{~Yh* z+hR@ewrRjjpTIpg>FkwpC+7~1=y+w%6~7x*x=#MkX7uUv1;-YqoePTk+Mvd)8lzUtSy#0%U@~>shKc%h*B`FAUst+x( zsM92tj-UsEM}2WU<)oWWT?-R)179ddvc@G1o{dd1CBbhhK!s0=*oufniqdPZdenhO zdmcsIgC7eetEEQKv;rHB`=AYYZ^7w}6b-;@qmpCH(9$1GY6(8f5Yw^=cLe!evm zQH(a^TFt^F?m>b}e?A^~RLG>BeE|a7aLH#E?E_Msk-)e-g z115{kZT-B=+N0v29|qSRYeqtS9U>JWFS#uH@5A&H4^P)2&zx#)X>WS0X zE_3+KS{?i5lBl|se*8Fo+B^P)N_7@CbjfdStLSoX67Mrj(1YIsQ1%@~B`XW83u#x^ KZ%c-?>c0WnzQ(oy literal 0 HcmV?d00001 diff --git a/tests/image.webp b/tests/image.webp new file mode 100644 index 0000000000000000000000000000000000000000..2b627981e9feef735b313a07e2c34206b30107f0 GIT binary patch literal 14644 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