'프로그램 사용'에 해당되는 글 2441건

  1. 2021.04.06 cunit test mode - auto / basic / console / ncurse
  2. 2021.04.06 ubuntu에서 cunit
  3. 2021.04.05 CI/CD - Continuous integration continuous delivery
  4. 2021.04.05 git submodule
  5. 2021.04.05 cunit
  6. 2021.04.02 tflite run
  7. 2021.04.02 tensorflow image input
  8. 2021.04.02 ssd model pb to tflite with quantization
  9. 2021.04.02 tensorflow quantization
  10. 2021.04.01 tensorflow lite
프로그램 사용/cunit2021. 4. 6. 11:31

테스트에 따른 include 파일

#include <CUnit/Automated.h>
void         CU_automated_run_tests(void)

#include <CUnit/Basic.h>
CU_ErrorCode    CU_basic_run_tests(void)

#include <CUnit/Console.h>
void CU_console_run_tests(void)

#include <CUnit/CUCurses.h>
void CU_curses_run_tests(void)

[링크 : http://cunit.sourceforge.net/doc/running_tests.html]

[링크 : https://sharpis0826.blogspot.com/2013/11/cunit-cunit_17.html]

 

ncurse로 멋지게 나오는걸 기대했는데 현실은 에러! 빌드도 안됨 ㅋ

/usr/bin/ld: /tmp/ccIbfUYB.o: in function `main':
cunit.c:(.text+0x314): undefined reference to `CU_curses_run_tests'
collect2: error: ld returned 1 exit status

 

아무튼.. ncurse는 다른 패키지로 분리되어 있고.. include도 다른걸로 해주어야 하니 급 귀찮..

$ apt-cache search cunit
libcunit1 - Unit Testing Library for C
libcunit1-dev - Unit Testing Library for C -- development files
libcunit1-doc - Unit Testing Library for C -- documentation
libcunit1-ncurses - Unit Testing Library for C (ncurses)
libcunit1-ncurses-dev - Unit Testing Library for C (ncurses) -- development files

 

CU_basic_run_tests()

결과를 화면으로 출력함

$ ./a.out


     CUnit - A unit testing framework for C - Version 2.1-3
     http://cunit.sourceforge.net/


Suite: Suite_1
  Test: test of fprintf() ...passed
  Test: test of fread() ...passed

Run Summary:    Type  Total    Ran Passed Failed Inactive
              suites      1      1    n/a      0        0
               tests      2      2      2      0        0
             asserts      5      5      5      0      n/a

Elapsed time =    0.001 seconds

 

CU_automated_run_tests()

결과를 XML로 출력함

$ ls -al
합계 36
drwxrwxr-x  2 minimonk minimonk  4096  4월  6 11:37 .
drwxrwxr-x 13 minimonk minimonk  4096  4월  6 11:01 ..
-rwxrwxr-x  1 minimonk minimonk 17488  4월  6 11:37 a.out
-rw-rw-r--  1 minimonk minimonk  3734  4월  6 11:37 cunit.c
-rw-rw-r--  1 minimonk minimonk     9  4월  6 11:37 temp.txt

$ ./a.out

$ ls -al
합계 40
drwxrwxr-x  2 minimonk minimonk  4096  4월  6 11:37 ./
drwxrwxr-x 13 minimonk minimonk  4096  4월  6 11:01 ../
-rw-rw-r--  1 minimonk minimonk  1670  4월  6 11:37 CUnitAutomated-Results.xml
-rwxrwxr-x  1 minimonk minimonk 17488  4월  6 11:37 a.out*
-rw-rw-r--  1 minimonk minimonk  3734  4월  6 11:37 cunit.c
-rw-rw-r--  1 minimonk minimonk     9  4월  6 11:37 temp.txt

$ cat CUnitAutomated-Results.xml
<?xml version="1.0" ?>
<?xml-stylesheet type="text/xsl" href="CUnit-Run.xsl" ?>
<!DOCTYPE CUNIT_TEST_RUN_REPORT SYSTEM "CUnit-Run.dtd">
<CUNIT_TEST_RUN_REPORT>
  <CUNIT_HEADER/>
  <CUNIT_RESULT_LISTING>
    <CUNIT_RUN_SUITE>
      <CUNIT_RUN_SUITE_SUCCESS>
        <SUITE_NAME> Suite_1 </SUITE_NAME>
        <CUNIT_RUN_TEST_RECORD>
          <CUNIT_RUN_TEST_SUCCESS>
            <TEST_NAME> test of fprintf() </TEST_NAME>
          </CUNIT_RUN_TEST_SUCCESS>
        </CUNIT_RUN_TEST_RECORD>
        <CUNIT_RUN_TEST_RECORD>
          <CUNIT_RUN_TEST_SUCCESS>
            <TEST_NAME> test of fread() </TEST_NAME>
          </CUNIT_RUN_TEST_SUCCESS>
        </CUNIT_RUN_TEST_RECORD>
      </CUNIT_RUN_SUITE_SUCCESS>
    </CUNIT_RUN_SUITE>
  </CUNIT_RESULT_LISTING>
  <CUNIT_RUN_SUMMARY>
    <CUNIT_RUN_SUMMARY_RECORD>
      <TYPE> Suites </TYPE>
      <TOTAL> 1 </TOTAL>
      <RUN> 1 </RUN>
      <SUCCEEDED> - NA - </SUCCEEDED>
      <FAILED> 0 </FAILED>
      <INACTIVE> 0 </INACTIVE>
    </CUNIT_RUN_SUMMARY_RECORD>
    <CUNIT_RUN_SUMMARY_RECORD>
      <TYPE> Test Cases </TYPE>
      <TOTAL> 2 </TOTAL>
      <RUN> 2 </RUN>
      <SUCCEEDED> 2 </SUCCEEDED>
      <FAILED> 0 </FAILED>
      <INACTIVE> 0 </INACTIVE>
    </CUNIT_RUN_SUMMARY_RECORD>
    <CUNIT_RUN_SUMMARY_RECORD>
      <TYPE> Assertions </TYPE>
      <TOTAL> 5 </TOTAL>
      <RUN> 5 </RUN>
      <SUCCEEDED> 5 </SUCCEEDED>
      <FAILED> 0 </FAILED>
      <INACTIVE> n/a </INACTIVE>
    </CUNIT_RUN_SUMMARY_RECORD>
  </CUNIT_RUN_SUMMARY>
  <CUNIT_FOOTER> File Generated By CUnit v2.1-3 - Tue Apr  6 11:37:15 2021
 </CUNIT_FOOTER>
</CUNIT_TEST_RUN_REPORT>

 

CU_console_run_tests()

R 누르면 CU_basic_run_tests()와 차이는 없지만 테스트 항목을 하나하나 on/off 가능하다.

$ ./a.out


     CUnit - A Unit testing framework for C - Version 2.1-3
             http://cunit.sourceforge.net/


***************** CUNIT CONSOLE - MAIN MENU ******************************
(R)un  (S)elect  (L)ist  (A)ctivate  (F)ailures  (O)ptions  (H)elp  (Q)uit
Enter command: S

--------------------- Registered Suites -----------------------------
 #  Suite Name                         Init? Cleanup? #Tests Active?

 1. Suite_1                             Yes      Yes      2     Yes
---------------------------------------------------------------------
Total Number of Suites : 1

Enter number of suite to select (1-1) : 1
Suite 'Suite_1' selected.

***************** CUNIT CONSOLE - SUITE MENU ***************************
(R)un (S)elect (L)ist (A)ctivate (F)ailures (U)p (O)ptions (H)elp (Q)uit
Enter command: L

----------------- Test List ------------------------------
Suite: Suite_1

 #  Test Name                          Active?

 1. test of fprintf()                     Yes
 2. test of fread()                       Yes
----------------------------------------------------------
Total Number of Tests : 2

***************** CUNIT CONSOLE - SUITE MENU ***************************
(R)un (S)elect (L)ist (A)ctivate (F)ailures (U)p (O)ptions (H)elp (Q)uit
Enter command: R

Running Suite : Suite_1
     Running Test : test of fprintf()
     Running Test : test of fread()

Run Summary:    Type  Total    Ran Passed Failed Inactive
              suites      1      1    n/a      0        0
               tests      2      2      2      0        0
             asserts      5      5      5      0      n/a

Elapsed time =    0.001 seconds

 

CU_curses_run_tests();

CU_console_run_tests의 ncurse 버전

               CUnit - A Unit testing framework for C - Version 2.1-3
                            http://cunit.sourceforge.net/

 Progress

 Tests Run :      0   Success :      0   Failed :      0

┌───────────────────────────────── Details Window ──────────────────────────────────┐
│Welcome to CUnit.  Press the indicated key to run the command.                     │
│                                                                                   │
│                                                                                   │
│                                                                                   │
│                                                                                   │
│                                                                                   │
│                                                                                   │
│                                                                                   │
│                                                                                   │
│                                                                                   │
│                                                                                   │
│                                                                                   │
│                                                                                   │
│                                                                                   │
└───────────────────────────────────────────────────────────────────────────────────┘
 (R)un  (S)elect  (L)ist  (A)ctivate  (F)ailures  (O)ptions  (H)elp  (Q)uit

'프로그램 사용 > cunit' 카테고리의 다른 글

ubuntu에서 cunit  (0) 2021.04.06
CI/CD - Continuous integration continuous delivery  (0) 2021.04.05
cunit  (0) 2021.04.05
CUnit  (0) 2014.03.11
Posted by 구차니
프로그램 사용/cunit2021. 4. 6. 11:04

일단 돌려보는게 목적이니 대충 해볼까..

$ sudo apt-get install libcunit1-dev
$ gcc cunit.c -lcunit

 

실행하면 아래와 같이 결과가 나온다.

$ ./a.out


     CUnit - A unit testing framework for C - Version 2.1-3
     http://cunit.sourceforge.net/


Suite: Suite_1
  Test: test of fprintf() ...passed
  Test: test of fread() ...passed

Run Summary:    Type  Total    Ran Passed Failed Inactive
              suites      1      1    n/a      0        0
               tests      2      2      2      0        0
             asserts      5      5      5      0      n/a

Elapsed time =    0.000 seconds

[링크 : http://cunit.sourceforge.net/example.html]

[링크 : https://sharpis0826.blogspot.com/2013/11/cunit-cunit_17.html]

'프로그램 사용 > cunit' 카테고리의 다른 글

cunit test mode - auto / basic / console / ncurse  (0) 2021.04.06
CI/CD - Continuous integration continuous delivery  (0) 2021.04.05
cunit  (0) 2021.04.05
CUnit  (0) 2014.03.11
Posted by 구차니
프로그램 사용/cunit2021. 4. 5. 14:45

devops랑도 키워드가 같이 나오긴 한데 개발방법론은 아닌것 같고..

[링크 : https://itholic.github.io/qa-cicd/]

[링크 : https://www.redhat.com/ko/topics/devops/what-is-ci-cd]

 

You want to write a modern CUnit test compatible with common CI/CD workflows?

[링크 : https://cunity.gitlab.io/cunit/]

[링크 : https://stackify.com/what-is-cicd-whats-important-and-how-to-get-it-right/]

 

'프로그램 사용 > cunit' 카테고리의 다른 글

cunit test mode - auto / basic / console / ncurse  (0) 2021.04.06
ubuntu에서 cunit  (0) 2021.04.06
cunit  (0) 2021.04.05
CUnit  (0) 2014.03.11
Posted by 구차니

'프로그램 사용 > Version Control' 카테고리의 다른 글

git 특정 디렉토리만 clone 하기  (0) 2021.04.07
git lfs  (0) 2021.04.06
git reset revert  (0) 2021.03.31
git error: RPC failed; curl ... remote end hung up  (0) 2021.01.11
git stash  (0) 2020.01.21
Posted by 구차니
프로그램 사용/cunit2021. 4. 5. 14:36

junit도 cunit도 듣기만 하고 써보려고 하는건 처음이네..

TDD 본건 기억이 나는데..

막상 cunit 적용하려니 함수 하나하나를 설계하는게 쉽지가 않네..

 

[링크 : http://dslab.konkuk.ac.kr/class/2017/17SE/Team_Project_B/A3/201411283_유병찬.pdf]

[링크 : https://blog.naver.com/zzeun/130104823706]

[링크 : http://cunit.sourceforge.net/example.html]

[링크 : https://cunity.gitlab.io/cunit/]

'프로그램 사용 > cunit' 카테고리의 다른 글

cunit test mode - auto / basic / console / ncurse  (0) 2021.04.06
ubuntu에서 cunit  (0) 2021.04.06
CI/CD - Continuous integration continuous delivery  (0) 2021.04.05
CUnit  (0) 2014.03.11
Posted by 구차니

엄밀하게는 tensorflow 전체에 대해서

모델 읽어 들이고 반복실행 부분을 찾는 중.

 

 

[링크 : http://stackoverflow.com/questions/65351046/how-to-feed-multiple-inputs-tflite-model-in-python-interpreter]

[링크 : http://www.tensorflow.org/lite/guide/inference#load_and_run_a_model_in_python]

 

'프로그램 사용 > yolo_tensorflow' 카테고리의 다른 글

ssd mobilenetv2 python load pb, tflite  (0) 2021.04.07
representative_dataset  (0) 2021.04.06
tensorflow image input  (0) 2021.04.02
ssd model pb to tflite with quantization  (0) 2021.04.02
tensorflow quantization  (0) 2021.04.02
Posted by 구차니

'프로그램 사용 > yolo_tensorflow' 카테고리의 다른 글

representative_dataset  (0) 2021.04.06
tflite run  (0) 2021.04.02
ssd model pb to tflite with quantization  (0) 2021.04.02
tensorflow quantization  (0) 2021.04.02
tensorflow lite  (0) 2021.04.01
Posted by 구차니

와... int8과 uint8 차이로

input_tensor 주소 받는게 안되다니!!

 

memcpy(interpreter->typed_input_tensor<uchar>(0), image.data, image.total() * image.elemSize());
memcpy(interpreter->typed_input_tensor<float>(0), image.data, image.total() * image.elemSize());

'프로그램 사용 > yolo_tensorflow' 카테고리의 다른 글

tflite run  (0) 2021.04.02
tensorflow image input  (0) 2021.04.02
tensorflow quantization  (0) 2021.04.02
tensorflow lite  (0) 2021.04.01
tensorflow 양자화  (0) 2021.03.04
Posted by 구차니

비슷한 제목에 다른 내용..

 

quantization은 현재로서는.. pb 에서 tflite로 변환할때 적용이 가능하고

tflite/float32로 변환된걸 unit8로 다시 한번 변환이 가능한진 모르겠다.

 

[링크 : https://www.tensorflow.org/lite/performance/post_training_quantization]

[링크 : https://www.tensorflow.org/lite/performance/post_training_integer_quant]

Posted by 구차니

원인 불명의 segmentation fault가 떠서 보니..

입력 tflite 파일이 바뀌었고

input이 uint8에서 float32로 바뀌어서 그런가 하고 바꾸어보니 문제없이 작동한다.

 

memcpy(interpreter->typed_input_tensor<uchar>(0), image.data, image.total() * image.elemSize());
memcpy(interpreter->typed_input_tensor<float>(0), image.data, image.total() * image.elemSize());

 

typed_input_tensor

T * typed_input_tensor(
  int index
)
Return a mutable pointer into the data of a given input tensor.

The given index must be between 0 and inputs().size().

[링크 : https://www.tensorflow.org/lite/api_docs/cc/class/tflite/interpreter]

 

+

학습이 잘못되었나..

둘다 num_classes가 90으로 동일하다.. COCO 90개를 기반으로 추가 학습을 했으면 더 늘어 나야 하는거 아닌가?

 

아래가 추가 학습한 내용.. quantized가 빠지고 use_regular_nms가 추가

아무튼 탐지는 하는데 이상한 숫자로 나오고(0번이던 91이든 나올줄 알았는데)

width도 개판으로 나와서 보니

기존은 이쁘게 0,1,2,3 순서라면

 

학습한 녀석은 3,2,1,0

 

그래서 width랑 label index가 이상하다고 느껴지는건가?

Posted by 구차니