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

  1. 2021.09.14 git reset 서버 commit
  2. 2021.08.31 tflite gpu openCL support build fail
  3. 2021.08.27 tf lite cmake
  4. 2021.08.18 HeidiSQL 2
  5. 2021.08.07 블렌더 강좌? (유료)
  6. 2021.07.21 gstream compositing - 그러니까 비디오 믹서?
  7. 2021.07.14 gst h264 filesink
  8. 2021.07.13 gstreamer 관련
  9. 2021.07.13 gstreamer 용어
  10. 2021.07.13 gstreamer element 생성 gst_element_factory_make()

마지막 커밋 1개 날리고, 강제로 서버에 푸시

$ git reset --hard HEAD~1
$ git push -f

 

그래도 이력을 남기는 revert가 좋을 듯.

다만 돌릴게 많으면 돌렸다는 이력 자체도 잔뜩 생긴다고 하니

되돌릴일을 만들지 않는게 최선.. ㅠㅠ

$ git revert [hash]

 

[링크 : https://jupiny.com/2019/03/19/revert-commits-in-remote-repository/]

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

git submodule ... 2?  (0) 2024.06.19
git diff --staged  (0) 2022.09.05
git blame  (0) 2021.06.21
git pull rebase 설정  (0) 2021.06.02
git log --stat  (0) 2021.05.10
Posted by 구차니

 

 

[ 57%] Building C object _deps/xnnpack-build/CMakeFiles/XNNPACK.dir/src/qs8-gavgpool/gen/7p7x-minmax-neon-c8-acc2.c.o
/home/pi/work/tflite_build/xnnpack/src/qs8-gavgpool/gen/7x-minmax-neon-c16-acc2.c: In function ‘xnn_qs8_gavgpool_minmax_ukernel_7x__neon_c16_acc2’:
/home/pi/work/tflite_build/xnnpack/src/qs8-gavgpool/gen/7x-minmax-neon-c16-acc2.c:174:5: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts
     int8x16_t vout0123456789ABCDEF = vcombine_s16(vqmovn_s16(vacc01234567), vqmovn_s16(vacc89ABCDEF));
     ^~~~~~~~~
/home/pi/work/tflite_build/xnnpack/src/qs8-gavgpool/gen/7x-minmax-neon-c16-acc2.c:174:51: error: incompatible type for argument 1 of ‘vcombine_s16’
     int8x16_t vout0123456789ABCDEF = vcombine_s16(vqmovn_s16(vacc01234567), vqmovn_s16(vacc89ABCDEF));

[링크 : https://www.gitmemory.com/issue/tensorflow/tensorflow/47536/809003416]

 

DNN을 빼고 해보면 된다는데

$ cmake ../tensorflow/tensorflow/lite -DTFLITE_ENABLE_GPU=ON -DTFLITE_ENABLE_XNNPACK=OFF

 

안되잖아!?!

[ 41%] Building CXX object CMakeFiles/tensorflow-lite.dir/delegates/gpu/api.cc.o
In file included from /home/pi/work/tensorflow/tensorflow/lite/delegates/gpu/common/util.h:19,
                 from /home/pi/work/tensorflow/tensorflow/lite/delegates/gpu/api.h:45,
                 from /home/pi/work/tensorflow/tensorflow/lite/delegates/gpu/api.cc:16:
/home/pi/work/tensorflow/tensorflow/lite/delegates/gpu/common/types.h:23:10: fatal error: fp16.h: No such file or directory
 #include <fp16.h>
          ^~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/tensorflow-lite.dir/build.make:188: CMakeFiles/tensorflow-lite.dir/delegates/gpu/api.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:1751: CMakeFiles/tensorflow-lite.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

 

+

ARMCC_FLAGS="-march=armv7-a -mfpu=neon-vfpv4 -funsafe-math-optimizations"
cmake -DCMAKE_C_COMPILER=${ARMCC_PREFIX}gcc \
  -DCMAKE_CXX_COMPILER=${ARMCC_PREFIX}g++ \
  -DCMAKE_C_FLAGS="${ARMCC_FLAGS}" \
  -DCMAKE_CXX_FLAGS="${ARMCC_FLAGS}" \
  -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
  -DCMAKE_SYSTEM_NAME=Linux \
  -DCMAKE_SYSTEM_PROCESSOR=armv7 \
  -DTFLITE_ENABLE_GPU=ON -DTFLITE_ENABLE_XNNPACK=OFF \
  ../tensorflow/tensorflow/lite  

 

아래는 크로스컴파일 하는 예

$ curl -LO https://storage.googleapis.com/mirror.tensorflow.org/developer.arm.com/media/Files/downloads/gnu-a/8.3-2019.03/binrel/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz
$ mkdir -p ${HOME}/toolchains
$ tar xvf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz -C ${HOME}/toolchains

$ ARMCC_FLAGS="-march=armv7-a -mfpu=neon-vfpv4 -funsafe-math-optimizations"
ARMCC_PREFIX=${HOME}/toolchains/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
cmake -DCMAKE_C_COMPILER=${ARMCC_PREFIX}gcc \
  -DCMAKE_CXX_COMPILER=${ARMCC_PREFIX}g++ \
  -DCMAKE_C_FLAGS="${ARMCC_FLAGS}" \
  -DCMAKE_CXX_FLAGS="${ARMCC_FLAGS}" \
  -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
  -DCMAKE_SYSTEM_NAME=Linux \
  -DCMAKE_SYSTEM_PROCESSOR=armv7 \
  ../tensorflow/lite/

[링크 : https://www.tensorflow.org/lite/guide/build_cmake_arm]

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

tf release 2.7.0-rc  (0) 2021.10.12
tflite delegate  (0) 2021.10.11
tf lite cmake  (0) 2021.08.27
tensorflow cross compile  (0) 2021.07.01
tensorflow lite on rpi4 64bit  (0) 2021.06.30
Posted by 구차니

2.4.1 을 사용했었는데 어느새 2.6.0이 나왔네

$ git tag
v2.4.1
v2.4.2
v2.4.3
v2.5.0
v2.5.0-rc0
v2.5.0-rc1
v2.5.0-rc2
v2.5.0-rc3
v2.5.1
v2.6.0
v2.6.0-rc0
v2.6.0-rc1
v2.6.0-rc2

 

18.04에다가 쓰다 보니 cmake 버전이 낮으셔서 빌드도 못한다고 -_ㅠ

~/work/tflite_build$ cmake ../tensorflow/tensorflow/lite
CMake Error at CMakeLists.txt:29 (cmake_minimum_required):
  CMake 3.16 or higher is required.  You are running version 3.10.2


-- Configuring incomplete, errors occurred!

 

2.4.1에서도 TFLITE_ENABLE_GPU가 있나 찾아 볼까?

$ cmake ../tensorflow_src/tensorflow/lite -DTFLITE_ENABLE_GPU=ON


[링크 : https://www.tensorflow.org/lite/guide/build_cmake]

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

tflite delegate  (0) 2021.10.11
tflite gpu openCL support build fail  (0) 2021.08.31
tensorflow cross compile  (0) 2021.07.01
tensorflow lite on rpi4 64bit  (0) 2021.06.30
tensorflow delegate  (0) 2021.06.30
Posted by 구차니

mariadb를 설치했더니 이런게 설치되서 찾아보는데..

mariadb / mssql / postgresql 를 지원한다!!

mariadb / postgresql은 ssh tunnel을 지원한다니 끌리네?

 

opensource / GPL

[링크 : https://www.heidisql.com/]

[링크 : https://www.heidisql.com/help.php#license]

 

[링크 : https://ko.wikipedia.org/wiki/HeidiSQL]

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

mariadb 초기설정  (0) 2022.08.30
mariadb c# connector  (0) 2021.10.22
sql zerofill  (0) 2019.11.25
mysql-dump compatible 함정 -_-  (0) 2019.09.04
mysql / unix-socket  (0) 2019.09.04
Posted by 구차니

요즘 유뷰트에서 자주 눈에 띄던데, 연관해서 광고를 좀 띄우는건가?

아무튼.. 블렌더로 먼가 만들어 보고 싶긴했는데 가격이 아주 싼건 아니니 고민이네

 

[링크 : https://coloso.co.kr/creative/gamegraphic_shinminjeong]

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

blender on macos  (0) 2022.05.24
big bunny blender project file  (0) 2022.05.22
blender 포켓몬 애니메이션  (0) 2020.08.08
blender physical simulation  (0) 2018.03.19
blender netrender 잠시 된건가..  (0) 2016.11.23
Posted by 구차니

카메라 8개를 하나의 모니터에 분할해서 쏘는 예제?

[링크 : http://trac.gateworks.com/wiki/Yocto/gstreamer/compositing]

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

gstreamer를 이용하여 uvc 웹캠 (mjpg) 보기  (0) 2023.03.22
gstream videomixer  (0) 2023.02.17
gst h264 filesink  (0) 2021.07.14
gstreamer 관련  (0) 2021.07.13
gstreamer 용어  (0) 2021.07.13
Posted by 구차니

 

$ gst-launch-1.0 -vvvv v4l2src ! videoscale ! video/x-raw, format=I420, width=1280, height=720, framerate=30/1 ! imxvpuenc_h264 bitrate=10000 ! filesink location=/tmp/720.mp4 
New clock: GstSystemClock

/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
[INFO]  ringBufferEnable 0, chromaInterleave 0, mapType 0, linear2TiledEnable 1
/GstPipeline:pipeline0/GstImxVpuEncoderH264:imxvpuencoderh264-0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstImxVpuEncoderH264:imxvpuencoderh264-0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2
/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, chroma-site=(string)mpeg2

 

$ gst-launch-1.0 -vvvv v4l2src ! videoscale ! video/x-raw, format=I420, width=800, height=480, framerate=15/1 ! imxvpuenc_h264 bitrate=10000 ! filesink location=/tmp/480.mp4 
New clock: GstSystemClock
/GstPipeline:pipeline0/GstV4l2Src:v4l2src0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
[INFO]  ringBufferEnable 0, chromaInterleave 0, mapType 0, linear2TiledEnable 1
/GstPipeline:pipeline0/GstImxVpuEncoderH264:imxvpuencoderh264-0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstVideoScale:videoscale0.GstPad:sink: caps = video/x-raw, format=(string)I420, width=(int)800, height=(int)480, framerate=(fraction)15/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive
/GstPipeline:pipeline0/GstImxVpuEncoderH264:imxvpuencoderh264-0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true, width=(int)800, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg
/GstPipeline:pipeline0/GstFileSink:filesink0.GstPad:sink: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, parsed=(boolean)true, width=(int)800, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)15/1, interlace-mode=(string)progressive, colorimetry=(string)bt601, chroma-site=(string)jpeg

[링크 : https://community.nxp.com/t5/i-MX-Processors/Encode-problem-with-imxvpuenc-h264/m-p/513557]

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

gstream videomixer  (0) 2023.02.17
gstream compositing - 그러니까 비디오 믹서?  (0) 2021.07.21
gstreamer 관련  (0) 2021.07.13
gstreamer 용어  (0) 2021.07.13
gstreamer element 생성 gst_element_factory_make()  (0) 2021.07.13
Posted by 구차니

MAN page 발췌

NAME
       gst-launch-1.0 - build and run a GStreamer pipeline

SYNOPSIS
       gst-launch-1.0 [OPTION...] PIPELINE-DESCRIPTION

DESCRIPTION
       gst-launch-1.0 is a tool that builds and runs basic GStreamer pipelines.

       In simple form, a PIPELINE-DESCRIPTION is a list of elements separated by exclamation marks (!). Properties may be appended to elements, in the form property=value.

       For a complete description of possible PIPELINE-DESCRIPTIONS see the section pipeline description below or consult the GStreamer documentation.

       Please  note  that gst-launch-1.0 is primarily a debugging tool for developers and users. You should not build applications on top of it. For applications, use the gst_parse_launch() function of the GStreamer API as an easy way to construct pipe‐
       lines from pipeline descriptions.

PIPELINE DESCRIPTION
       A pipeline consists elements and links. Elements can be put into bins of different sorts. Elements, links and bins can be specified in a pipeline description in any order.

       Elements

       ELEMENTTYPE [PROPERTY1 ...]

       Creates an element of type ELEMENTTYPE and sets the PROPERTIES.

       Properties

       PROPERTY=VALUE ...

       Sets the property to the specified value. You can use gst-inspect-1.0(1) to find out about properties and allowed values of different elements.
       Enumeration properties can be set by name, nick or value.

       Bins

       [BINTYPE.] ( [PROPERTY1 ...] PIPELINE-DESCRIPTION )

       Specifies that a bin of type BINTYPE is created and the given properties are set. Every element between the braces is put into the bin. Please note the dot that has to be used after the BINTYPE. You will almost never need this  functionality,  it
       is only really useful for applications using the gst_launch_parse() API with 'bin' as bintype. That way it is possible to build partial pipelines instead of a full-fledged top-level pipeline.

       Links

       [[SRCELEMENT].[PAD1,...]] ! [[SINKELEMENT].[PAD1,...]]  [[SRCELEMENT].[PAD1,...]] ! CAPS ! [[SINKELEMENT].[PAD1,...]]  [[SRCELEMENT].[PAD1,...]] : [[SINKELEMENT].[PAD1,...]]  [[SRCELEMENT].[PAD1,...]] : CAPS : [[SINKELEMENT].[PAD1,...]]

       Links  the  element  with name SRCELEMENT to the element with name SINKELEMENT, using the caps specified in CAPS as a filter.  Names can be set on elements with the name property. If the name is omitted, the element that was specified directly in
       front of or after the link is used. This works across bins. If a padname is given, the link is done with these pads. If no pad names are given all possibilities are tried and a matching pad is used.  If multiple padnames  are  given,  both  sides
       must have the same number of pads specified and multiple links are done in the given order.
       So the simplest link is a simple exclamation mark, that links the element to the left of it to the element right of it.
       Linking using the : operator attempts to link all possible pads between the elements

       Caps

       MEDIATYPE [, PROPERTY[, PROPERTY ...]]] [; CAPS[; CAPS ...]]

       Creates a capability with the given media type and optionally with given properties. The media type can be escaped using " or '.  If you want to chain caps, you can add more caps in the same format afterwards.

       Properties

       NAME=[(TYPE)]VALUE
       in lists and ranges: [(TYPE)]VALUE

       Sets the requested property in capabilities. The name is an alphanumeric value and the type can have the following case-insensitive values:
       - i or int for integer values or ranges
       - f or float for float values or ranges
       - b, bool or boolean for boolean values
       - s, str or string for strings
       - fraction for fractions (framerate, pixel-aspect-ratio)
       - l or list for lists
       If no type was given, the following order is tried: integer, float, boolean, string.
       Integer values must be parsable by strtol(), floats by strtod(). FOURCC values may either be integers or strings. Boolean values are (case insensitive) yes, no, true or false and may like strings be escaped with " or '.
       Ranges are in this format:  [ VALUE, VALUE ]
       Lists use this format:      { VALUE [, VALUE ...] }

PIPELINE EXAMPLES
       The  examples  below  assume  that  you have the correct plug-ins available.  In general, "pulsesink" can be substituted with another audio output plug-in such as "alsasink" or "osxaudiosink" Likewise, "xvimagesink" can be substituted with "xima‐
       gesink", "glimagesink", or "osxvideosink". Keep in mind though that different sinks might accept different formats and even the same sink might accept different formats on different machines, so you might  need  to  add  converter  elements  like
       audioconvert and audioresample (for audio) or videoconvert (for video) in front of the sink to make things work.

       Audio playback

       Play the mp3 music file "music.mp3" using a libmpg123-based plug-in and output to an Pulseaudio device
               gst-launch-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesink

       Play an Ogg Vorbis format file
               gst-launch-1.0 filesrc location=music.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioresample ! pulsesink

       Play an mp3 file or an http stream using GIO
               gst-launch-1.0 giosrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! pulsesink
               gst-launch-1.0 giosrc location=http://domain.com/music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesink

       Use GIO to play an mp3 file located on an SMB server
               gst-launch-1.0 giosrc location=smb://computer/music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! pulsesink

       Format conversion

       Convert an mp3 music file to an Ogg Vorbis file
               gst-launch-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! vorbisenc ! oggmux ! filesink location=music.ogg

       Convert to the FLAC format
               gst-launch-1.0 filesrc location=music.mp3 ! mpegaudioparse ! mpg123audiodec ! audioconvert ! flacenc ! filesink location=test.flac

[링크 : https://linux.die.net/man/1/gst-launch-0.10]

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

gst h264 filesink  (0) 2021.07.14
gstreamer 관련  (0) 2021.07.13
gstreamer element 생성 gst_element_factory_make()  (0) 2021.07.13
gst fpsdisplaysink  (0) 2021.02.18
gst videorate  (0) 2021.02.09
Posted by 구차니

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

gstreamer 관련  (0) 2021.07.13
gstreamer 용어  (0) 2021.07.13
gst fpsdisplaysink  (0) 2021.02.18
gst videorate  (0) 2021.02.09
gstreamer tee  (0) 2021.02.08
Posted by 구차니