@@ -108,6 +108,7 @@ jobs:
108108 declare -A DEVICE_POOL_ARNS
109109 DEVICE_POOL_ARNS[samsung_galaxy_s22]="arn:aws:devicefarm:us-west-2:308535385114:devicepool:02a2cf0f-6d9b-45ee-ba1a-a086587469e6/e59f866a-30aa-4aa1-87b7-4510e5820dfa"
110110 DEVICE_POOL_ARNS[samsung_galaxy_s24]="arn:aws:devicefarm:us-west-2:308535385114:devicepool:02a2cf0f-6d9b-45ee-ba1a-a086587469e6/98f8788c-2e25-4a3c-8bb2-0d1e8897c0db"
111+ DEVICE_POOL_ARNS[google_pixel_8_pro]="arn:aws:devicefarm:us-west-2:308535385114:devicepool:02a2cf0f-6d9b-45ee-ba1a-a086587469e6/d65096ab-900b-4521-be8b-a3619b69236a"
111112
112113 # Resolve device names with their corresponding ARNs
113114 if [[ ! $(echo "$DEVICES" | jq empty 2>/dev/null) ]]; then
@@ -168,18 +169,20 @@ jobs:
168169 name : export-models
169170 uses : pytorch/test-infra/.github/workflows/linux_job.yml@main
170171 needs : set-parameters
172+ secrets : inherit
171173 strategy :
172174 matrix :
173175 model : ${{ fromJson(needs.set-parameters.outputs.models) }}
174176 delegate : ${{ fromJson(needs.set-parameters.outputs.delegates) }}
175177 fail-fast : false
176178 with :
177- runner : linux.4xlarge
179+ runner : linux.4xlarge.memory
178180 docker-image : executorch-ubuntu-22.04-qnn-sdk
179181 submodules : ' true'
180182 timeout : 60
181183 upload-artifact : android-models
182184 upload-artifact-to-s3 : true
185+ secrets-env : EXECUTORCH_HF_TOKEN
183186 script : |
184187 # The generic Linux job chooses to use base env, not the one setup by the image
185188 echo "::group::Setting up dev environment"
@@ -197,7 +200,19 @@ jobs:
197200 BUILD_MODE="cmake"
198201 DTYPE="fp32"
199202
200- if [[ ${{ matrix.model }} =~ ^stories* ]]; then
203+ if [[ ${{ matrix.model }} =~ ^[^/]+/[^/]+$ ]] && [[ ${{ matrix.delegate }} == "xnnpack" ]]; then
204+ pip install -U "huggingface_hub[cli]"
205+ huggingface-cli login --token $SECRET_EXECUTORCH_HF_TOKEN
206+ pip install accelerate sentencepiece
207+ # HuggingFace model. Assume the pattern is always like "<org>/<repo>"
208+ HF_MODEL_REPO=${{ matrix.model }}
209+ DOWNLOADED_PATH=$(bash .ci/scripts/download_hf_hub.sh --model_id "${HF_MODEL_REPO}" --subdir "original" --files "tokenizer.model")
210+ OUT_ET_MODEL_NAME="$(echo "$HF_MODEL_REPO" | awk -F'/' '{print $2}' | sed 's/_/-/g')_xnnpack"
211+ python -m extension.export_util.export_hf_model -hfm="$HF_MODEL_REPO" -o "$OUT_ET_MODEL_NAME" -d "float32"
212+ zip -j model.zip "${OUT_ET_MODEL_NAME}.pte" "${DOWNLOADED_PATH}/tokenizer.model"
213+ mkdir -p "${ARTIFACTS_DIR_NAME}"
214+ mv model.zip "${ARTIFACTS_DIR_NAME}"
215+ elif [[ ${{ matrix.model }} =~ ^stories* ]]; then
201216 # Install requirements for export_llama
202217 PYTHON_EXECUTABLE=python bash examples/models/llama/install_requirements.sh
203218 # Test llama2
0 commit comments