Skip to content

Commit c0def70

Browse files
committed
Merge branch 'Semyon1104/IntegrateOneDNN' of https://github.com/embedded-dev-research/itlab_2023 into Semyon1104/IntegrateOneDNN
2 parents 920a377 + 8cb7a2c commit c0def70

2 files changed

Lines changed: 77 additions & 33 deletions

File tree

.github/workflows/ci.yml

Lines changed: 76 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -224,19 +224,47 @@ jobs:
224224
slug: embedded-dev-research/ITLabAI
225225

226226
evaluate-model:
227-
runs-on: ubuntu-latest
228-
needs: [build-linux]
229-
permissions:
230-
contents: write
227+
runs-on: ubuntu-latest
228+
needs: [build-linux]
229+
permissions:
230+
contents: write
231231

232-
steps:
232+
steps:
233233
- uses: actions/checkout@v4
234234
with:
235235
fetch-depth: 0
236+
237+
- name: Download binary and libs
238+
uses: actions/download-artifact@v4
239+
with:
240+
name: mnist-RELEASE
241+
path: build/
242+
243+
- name: Verify downloaded artifacts
244+
run: |
245+
echo "### Verifying downloaded artifacts ###"
246+
echo "Current directory: $(pwd)"
247+
echo "Build directory contents:"
248+
ls -la build/ || echo "No build directory"
249+
echo "Looking for ACC binary:"
250+
find build/ -name "ACC" -type f 2>/dev/null || echo "ACC not found"
251+
echo "Checking bin directory:"
252+
ls -la build/bin/ 2>/dev/null || echo "No bin directory"
253+
236254
- name: Set binary path
237255
id: set_eval_binary
238256
run: |
239-
echo "EVAL_BINARY=build/bin/ACC" >> $GITHUB_OUTPUT
257+
# Проверяем существует ли бинарник
258+
if [ -f "build/bin/ACC" ]; then
259+
echo "ACC binary found at build/bin/ACC"
260+
echo "EVAL_BINARY=build/bin/ACC" >> $GITHUB_OUTPUT
261+
else
262+
echo "ERROR: ACC binary not found at build/bin/ACC"
263+
echo "Available files:"
264+
find build/ -type f -name "*" 2>/dev/null | head -20
265+
exit 1
266+
fi
267+
240268
- name: Install system dependencies
241269
run: |
242270
sudo apt-get update
@@ -246,11 +274,13 @@ jobs:
246274
libjpeg-dev \
247275
libpng-dev \
248276
libtiff-dev \
249-
libopenjp2-7
277+
libopenjp2-7 \
278+
libdnnl3
250279
sudo ldconfig
280+
251281
- name: Generate model JSON
252282
run: |
253-
cd docs && mkdir jsons
283+
cd docs && mkdir -p jsons
254284
cd ..
255285
cd app/Converters
256286
pip install -r requirements.txt
@@ -276,50 +306,64 @@ jobs:
276306
rm -rf main.zip MNIST_dataset-main
277307
echo "Downloaded $(ls docs/mnist/mnist/test | wc -l) images"
278308
279-
- name: Download binary and libs
280-
uses: actions/download-artifact@v4
281-
with:
282-
name: mnist-RELEASE
283-
path: build/
284-
285309
- name: Prepare environment
286310
run: |
311+
echo "### Preparing environment ###"
312+
echo "Binary path: ${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
313+
314+
ls -la "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
287315
chmod +x "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}"
288316
289317
export LD_LIBRARY_PATH=$PWD/build/bin/opencv_libs:/usr/lib/x86_64-linux-gnu
290318
echo "Final LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
291319
292320
- name: Verify library integrity
293321
run: |
294-
echo "### Library verification ###"
295-
file build/bin/opencv_libs/libopencv_imgcodecs.so.4.12.0 | grep "shared object"
322+
echo "### Library verification ###"
323+
ls -la build/bin/opencv_libs/ || echo "No opencv_libs directory"
324+
file build/bin/opencv_libs/libopencv_imgcodecs.so* 2>/dev/null | head -1 || echo "No opencv_imgcodecs library found"
296325
297-
- name: Run evaluation
326+
- name: Test binary execution
298327
run: |
299-
echo "### Pre-run checks ###"
300-
export LD_LIBRARY_PATH=$PWD/build/bin/opencv_libs:/usr/lib/x86_64-linux-gnu
301-
echo "LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
302-
303-
LD_DEBUG=files "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" --model alexnet_mnist 2> ld_debug.log
304-
echo "### Library loading debug ###"
305-
grep -i "opencv_imgcodecs" ld_debug.log
328+
echo "### Testing binary execution ###"
329+
export LD_LIBRARY_PATH=$PWD/build/bin/opencv_libs:/usr/lib/x86_64-linux-gnu
330+
331+
echo "Binary dependencies:"
332+
ldd "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" 2>/dev/null || echo "ldd failed"
333+
334+
echo "Testing help command:"
335+
timeout 10s "${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" --help > /dev/null 2>&1 || echo "Help test completed"
306336
307-
"${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" > accuracy.txt
308-
echo "Accuracy: $(cat accuracy.txt)"
337+
- name: Run evaluation
338+
run: |
339+
echo "### Running evaluation ###"
340+
export LD_LIBRARY_PATH=$PWD/build/bin/opencv_libs:/usr/lib/x86_64-linux-gnu
341+
echo "LD_LIBRARY_PATH: $LD_LIBRARY_PATH"
342+
343+
echo "Running ACC evaluation..."
344+
"${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" --model alexnet_mnist > accuracy.txt 2>&1 || \
345+
"${{ steps.set_eval_binary.outputs.EVAL_BINARY }}" > accuracy.txt 2>&1
346+
347+
echo "Evaluation output:"
348+
cat accuracy.txt
309349
350+
- name: Extract accuracy value
351+
run: |
352+
echo "### Extracting accuracy ###"
353+
ACCURACY=$(grep -oE '[0-9]+\.?[0-9]*%' accuracy.txt | head -1 || echo "0%")
354+
echo "Accuracy: $ACCURACY"
355+
echo "$ACCURACY" > accuracy_value.txt
356+
310357
- name: Update README (master only)
311358
if: github.ref == 'refs/heads/master'
312359
run: |
313-
ACCURACY=$(cat accuracy.txt | sed 's/%//g')
360+
ACCURACY=$(cat accuracy_value.txt | sed 's/%//g')
314361
DATE=$(date '+%Y-%m-%d')
315362
316363
echo "Updating README with:"
317-
echo "Accuracy: $ACCURACY"
364+
echo "Accuracy: $ACCURACY%"
318365
echo "Date: $DATE"
319366

320-
echo "Current README content:"
321-
grep -A 2 -B 2 "ACCURACY_PLACEHOLDER" README.md || echo "Placeholder not found"
322-
323367
sed -i "s/<!--ACCURACY_PLACEHOLDER-->.*<!--END_ACCURACY-->/<!--ACCURACY_PLACEHOLDER-->Accuracy: ${ACCURACY}% (updated: ${DATE})<!--END_ACCURACY-->/" README.md
324368

325369
echo "Updated README content:"
@@ -336,7 +380,7 @@ jobs:
336380
if git diff-index --quiet HEAD --; then
337381
echo "No changes to commit"
338382
else
339-
git commit -m "[CI] Update accuracy: $(cat accuracy.txt)%"
383+
git commit -m "[CI] Update accuracy: $(cat accuracy_value.txt)"
340384
git push origin master
341385
echo "Changes pushed to master branch"
342386
fi

.github/workflows/static-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
key: ccache-${{ github.job }}
3333
- name: Build
3434
run: |
35-
cmake -S . -B build \
35+
cmake -S . -B build -G Ninja \
3636
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
3737
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
3838
-DCMAKE_C_COMPILER=clang \

0 commit comments

Comments
 (0)