[회의일시]

- 회의 미실시

 

[활동 내용]

- 2022 프로그래머스 머신러닝 데브매칭 과제 테스트

- Opencv ML 세미나 준비

 

[데이콘 9주차 콘텐츠]

https://dacon.io/codeshare/5072?page=1&dtype=recent&fType 

 

[🔥포스🔥] 6편. OpenCV 영상분할편

 

dacon.io

 

[느낀점]

- 프로그래머스 과제 테스트를 봐야해서 팀원들에게 양해를 구하고 모임을 미뤄야 했다. 과제테스트를 처음해 봤는데, 구글링이 가능해서 열심히 코드를 복붙해서 과제를 제출했는데, 다행히도 1차 과제 심사는 합격이다. 면접 기회를 얻을 수 있다면 좋겠는데, 아직 연락은 없다. 서류 탈락인가,,

- 대면 미팅을 하게 되면 세미나도 진행하고 두 번째 미니프로젝트도 진행해야하는데 요새 프로젝트 및 해커톤 등으로 일정이 너무 바빠서 준비를 거의 하지 못했다. 서울에서 대면 미팅을 하게 되면 유익한 시간이 될 수 있도록 준비를 잘 해야한다.

- 이번 주 데이크루 포스팅에는 내가 세미나 발표 했던 부분이 게시되었다. 코드는 거의 책에서 가져오지만 조금씩 변형하면서 실험하고 어떤 것들이 반영되는지 확인하는 것만으로도 opencv에서 지원하는 것들을 알 수 있어서 좋았다. 프로젝트 진행하면서 opencv도 많이 사용하게 되는데 확실히 도움이 된다.

 

[해야할 것]

- 9장 머신러닝 세미나 준비(SVM 및 HOG)

 

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎㅎㅎㅎ

개발환경 세팅 중 에러가 발생했다.

tensorflow 설치를 진행하고 프로그램 시작을 하니 다음과 같은 에러가 발생했다.

 

tensorflow.python.framework.errors_impl.AlreadyExistsError: Another metric with the same name already exists.

 

[해결방법]

tensorflow와 keras가 연동되어 버전이 맞지 않으면 발생하는 문제이다.

세팅한 개발환경에서는 tensorflow==2.6.0을 사용하였는데, keras도 2.6.0을 맞춰주었다.

pip install keras==2.6.0

 

[참고링크]

https://precommer.tistory.com/76

 

AlreadyExistsError: Another metric with the same name already exists.오류

환경 오류로 "Another metric with the same name already exists." 라는 오류가 뜨는 경우는 keras가 두개 이상 설치되어 있는경우이다. 해결 방법은 keras를 uninstall 하고나서 재 설치 하면 된다. 1. keras를..

precommer.tistory.com

 

hydralit을 사용하는 도중 불편한 것이 발견되어 오래 사투하게 되었다.

streamlit으로 spinner를 사용하면 불필요한 hydralit의 loader 3개씩이나 뜬다는 것이다!

관련 구글링을 아무리 해봐도 찾지 못해 답답했다.

우연히 함수들을 찾아보다가 발견해버렸다!

 

수정해야할 코드 위치

/opt/conda/lib/python3.8/site-packages/hydralit/loading_app.py

import streamlit as st
from hydralit_components import HyLoader, Loaders
from hydralit.app_template import HydraHeadApp

class LoadingApp(HydraHeadApp):

def run(self,app_target):

    try:
        app_title = ''
        if hasattr(app_target,'title'):
            app_title = app_target.title

        # with HyLoader("Now loading {}".format(app_title), loader_name=Loaders.standard_loaders,index=[3,0,5]):
        app_target.run()
  
    except Exception as e:
        raise e

 

 

[StackOverFlow에 답글 달아주기]

https://stackoverflow.com/questions/71652864/how-to-remove-the-animated-loader-from-hydralit-streamlit

 

How to remove the animated loader from hydralit (streamlit)?

I am using Streamlit to build a web app and with Hydralit I was able to use the multipage function. However, the function came with an animated loader that I would like to remove. What command can ...

stackoverflow.com

아무도 답변하지 않는 질문에 처음으로 댓글을 달아보았다.

도움이 되면 좋겠다.

Streamlit으로 프로토타입 구현 중 에러가 발생했다.

  File "/opt/conda/envs/lib/lib/python3.8/site-packages/streamlit/scriptrunner/script_runner.py", line 475, in _run_script
    exec(code, module.__dict__)
  File "/opt/ml/input/code/project/pipeline/zzolflix.py", line 4, in <module>
    import hydralit as hy
  File "/opt/conda/envs/lib/lib/python3.8/site-packages/hydralit/__init__.py", line 5, in <module>
    from hydralit.hydra_app import HydraApp
  File "/opt/conda/envs/lib/lib/python3.8/site-packages/hydralit/hydra_app.py", line 4, in <module>
    from hydralit.sessionstate import SessionState
  File "/opt/conda/envs/lib/lib/python3.8/site-packages/hydralit/sessionstate.py", line 8, in <module>
    from streamlit.script_run_context import get_script_run_ctx
ModuleNotFoundError: No module named 'streamlit.script_run_context'

라이브러리를 설치하고, hydralit까지 설치해서 가장 기본적인 앱을 실행시켰는데, 해당 에러가 나왔다.

hydralit은 streamlit에 영향을 받는 라이브러리인 것 같다.

streamlit에 버전에 따라 hydralit쪽에서 에러가 발생할 수 있다.

 

[해결방법]

File "/opt/conda/envs/lib/lib/python3.8/site-packages/hydralit/sessionstate.py", line 8, in <module>

이 경로로 이동한 뒤, 소스를 직접 수정해주어야 한다.

#v1.7.0
from streamlit.script_run_context import get_script_run_ctx
#v1.8.0
from streamlit.scriptrunner.script_run_context import get_script_run_ctx

내가 테스트 한 버전은 streamlit==1.9.0 이었다.

그래서 후자로 변경하였더니 에러가 해결되었다.

 

[참고링크]

https://discuss.streamlit.io/t/streamlit-script-run-context-gone-with-1-8/23526/2

 

Streamlit.script_run_context() gone with 1.8?

I have the same problem, it breaks this code here:

discuss.streamlit.io

https://stackoverflow.com/questions/70813915/error-importing-hydralit-modulenotfounderror-no-module-named-streamlit-repor

 

Error importing hydralit: "ModuleNotFoundError: No module named 'streamlit.report_thread'"

I installed Hydralit, but when I try to import I get the following error: "ModuleNotFoundError: No module named 'streamlit.report_thread'". Interestingly I can import and use

stackoverflow.com

 

pyaudio library 설치에서 에러가 발생했다.

pip install pyaudio

 

에러 메세지를 타이틀만 기록해서 상세한 에러 메세지는 stackoverflow에서 가지고 왔다.

Searching for pyaudio
Reading http://pypi.python.org/simple/pyaudio/
Reading http://people.csail.mit.edu/hubert/pyaudio/
Best match: pyaudio 0.2.4
Downloading http://people.csail.mit.edu/hubert/pyaudio/packages/pyaudio-0.2.4.tar.gz
Processing pyaudio-0.2.4.tar.gz
Running PyAudio-0.2.4/setup.py -q bdist_egg --dist-dir /tmp/easy_install-0Tetss/PyAudio-0.2.4/egg-dist-tmp-PYy9T8
In file included from /usr/include/python2.7/Python.h:8:0,
                 from src/_portaudiomodule.c:30:
/usr/include/python2.7/pyconfig.h:1155:0: warning: "_POSIX_C_SOURCE" redefined
/usr/include/features.h:214:0: note: this is the location of the previous definition
src/_portaudiomodule.c:31:23: fatal error: portaudio.h: No such file or directory
compilation terminated.
error: Setup script exited with error: command 'gcc' failed with exit status 1

 

해결방법

apt-get install portaudio19-dev -y

 

참고 링크

https://stackoverflow.com/questions/5921947/pyaudio-installation-error-command-gcc-failed-with-exit-status-1

 

Pyaudio installation error - 'command 'gcc' failed with exit status 1'

I'm running Ubuntu 11.04, Python 2.7.1 and wanted to install Pyaudio. So I ran, $ sudo easy_install pyaudio in the terminal and the process exited with following error messages, Searching for py...

stackoverflow.com

 

 

[회의일시]

- 2022년 05월 22일 오후 16시30분 ~ 18시00분까지 온라인 미팅 진행

 

[회의내용]

1. 영상 매칭과 추적 발표(강수연, 이태범)

2. 두 번째 미니 프로젝트 발표(이정환)

  - 미니 프로젝트 개요 및 계획 설명

  - 대면 미팅 전 공부해야할 것 (UNet, Attention Network, Annotation method)

3. 첫 번째 미니프로젝트 두 번째 게시물 작성 계획 공유

  - 테스트 데이터셋 재구축

 

[활동 내용]

- 테스트 데이터셋 재구축 계획 전파, 테스트 데이터 재촬영

- 이태범 팀원과 두 번째 게시글 작성을 위한 회의, 실험 범위 분할

- 정규화 내용에 대한 게시글 초안 작성, 팀장 검토 후 보완

 

[데이콘 8주차 콘텐츠]

https://dacon.io/codeshare/5006?page=1&dtype=recent 

 

[🔥포스🔥] Multi-Hand Gesture Recognition(2)(벡터 정규화, 위치 정규화)

 

dacon.io

 

[github code share]

https://github.com/updaun/HandGestureRecognition

 

GitHub - updaun/HandGestureRecognition: HandGestureRecognition

HandGestureRecognition. Contribute to updaun/HandGestureRecognition development by creating an account on GitHub.

github.com

 

[느낀점]

- 예전에 알고리즘을 활용해서 제스쳐 분류를 했을 때, 제스쳐를 하나 추가할 때마다 조건문 사이에 간섭이 일어나 동작을 추가하기 어려웠다. 하지만 인공지능을 활용하여 데이터를 구축하면 보다 쉽게 제스쳐를 추가할 수 있다는 메리트가 발생하게 되었다. 전부터 시간이 나면 혼자서라도 코드 업데이트 해야지 했던 것을 데이크루에서 팀원들과 같이 할 수 있어서 좋았다.

- 인공지능사관학교 시절 한 손 제스쳐 모델인 지화 모델 제작 프로젝트에서 정규화를 적용할 때, 좌표 정규화와 벡터 정규화를 나눠서 실험을 진행했고, 실험 결과 좌표 정규화가 잘 나왔던 경험이 있었다. 그래서 이번 양손 제스쳐에서도 좌표 정규화가 잘 나올 것이라 생각했는데, 벡터 정규화가 성능이 더 잘 나와서 신기했다. 아마 양 손으로 변경된 점, 모델 네트워크 구조 변경으로 데이터 정규화에 영향을 미친 것 같다. 과적합 방지를 위해 모델 구조를 변경하면서 데이터 정규화의 효과가 크게 나타나지 않았지만, 전에 했던 프로젝트에서는 효과가 엄청났었다. 이번 기회를 통해 데이터 전처리도 중요하고 모델 네트워크도 복합적으로 영향을 준다는 사실을 체험할 수 있었다.

- 데이크루 활동을 하면서 OpenCV 공부를 하게 되니 네이버 부스트캠프 프로젝트를 진행하면서 확실히 도움이 되는 것 같다. 간단한 opencv 코드는 금방 작성할 수 있게 되었다. 예를 들어 비디오를 불러와 사진으로 모두 저장하는 코드를 간단하지만 팀원들 앞에서 라이브 코딩을 하게 되었다. Computer Vision Task에서 시시때때로 opencv가 등장하기 때문에 분명 좋을 것이라는 생각으로 시작한 것이 잘한 일이라고 생각한다. 데이크루 3기 팀장으로 다음 기수를 이끌어 볼 수 있을지 모르겠다.

- 데이크루 덕분에 블로그에 게시글을 주에 1개씩을 올릴 수 있어서 좋다. 내 블로그의 취지는 에러를 만날 때마다 글을 작성하여 다른 개발자들에게 도움을 주는 것이었는데, 요새 에러를 많이 아주 많이 만났지만, 시간을 내서 기록하지 못했다. 기록 해야지 해야지만 하고 아직 못 하고 있는데, 작은 것이라도 기록하려고 노력해야 한다. 내 머리를 믿어선 안 된다. 열심히 기록해두고 나중에 오답노트처럼 활용해야 한다.

 

[해야할 것]

- 두 번째 미니프로젝트 공부하기(새로운 데이터로 학습시켜보기, attention network 공부하기)

- 9장 머신러닝 세미나 준비(SVM 및 HOG)

 

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎㅎㅎㅎ

 

[회의일시]

- 2022년 05월 14일 오후 16시30분 ~ 18시00분까지 온라인 미팅 진행

 

[회의내용]

1. 영상 분할 발표(전다운, 허지혜 팀장)

2. 두 번째 미니 프로젝트 발표(허지혜 팀장)

  - UNet의 네트워크 구조

  - UNet을 활용한 Semantic Segmentation Baseline code review

3. 첫 번째 미니프로젝트 게시물 작성 계획 공유

 

[활동 내용]

- 영상 분할 세미나 발표 준비

- 첫 번째 미니 프로젝트 게시글 게재를 위한 추가 회의 진행

- 허지혜 팀장님과 첫 번째 프로젝트 UI 제작 관련 회의 진행

 

[데이콘 7주차 콘텐츠]

https://dacon.io/codeshare/4956?page=1&dtype=recent 

 

[🔥포스🔥] 첫번째 프로젝트, Multi-Hand Gesture Recognition

 

dacon.io

 

[github code share]

https://github.com/updaun/HandGestureRecognition

 

GitHub - updaun/HandGestureRecognition: HandGestureRecognition

HandGestureRecognition. Contribute to updaun/HandGestureRecognition development by creating an account on GitHub.

github.com

 

[느낀점]

- 세미나 준비를 위해 영상 분할을 공부하였는데, 역시 세미나의 힘은 대단했다. 공부에 강제성을 부여할 수 있었고, 내 발표 파트를 집중적으로 공부할 수 있었다. 준비하면서는 OpenCV의 함수 사용 위주였으나, 함수 인자로 들어가는 method를 변경하면 결과가 달라져 method를 변경하며 실험 결과를 가시화했다. 몰아서 하지 않기 위해 하루하루 2 ~ 3개의 예제를 기록했다. 세미나를 맡게 된 주는 매일 한 시간 정도씩은 발표 자료 제작을 위해 투자한 것 같다.

- 첫 번째 미니프로젝트가 내 의도대로 디자인 되었다. Mediapipe와 LSTM을 활용한 양손 제스쳐 인식 프로그램을 직접 학습시켜 보는데, 이 때 2가지 문제가 발생하게 된다. 첫 번째는 과적합에 대한 문제이고 두 번째는 위치 종속성에 대한 문제이다. 예전에 인공지능 공부를 하면서 그냥 넘어갔던 부분을 팀원들과 함께 다시 복기할 수 있어서 좋았다. 팀원들이 서로 의견을 공유하면서 나름 의미있는 결과물이 나온 것 같아서 좋다.

- 정환님께서 준비해주신 다음 프로젝트를 공부해야할 것 같다. pytorch에 익숙해져야 하고 네트워크 구조를 변경하면서 실험을 진행하고 성능을 향상시켜보는 것을 목표로 하자고 하셨다. 팀장님이 생각보다 공부를 열심히 해서 오셨다. UNet의 네트워크 구조에 대한 설명 그리고 팀장님께서 정환님의 코드를 돌려보고 코드에 대한 설명을 해주셨다. 다행히도 부스트 캠프에서 Segmentation Task를 진행할 때였고, UNet에 대한 설명을 공부하고 가서 이해가 잘 되었다.

- 벌써 데이크루 2기도 절반 이상 지나가고 있다. 부스트 캠프도 프로젝트에 들어갔고, 마무리 단계에 있다. 나태해지는 것을 방지하여 데이크루를 신청했던 것으로 바쁜 나날을 보내고 있는데, 또 좋은 점은 데이콘에 더 방문하게 되고 대회들이 눈에 들어오면서 시간 날 때마다 코드 제출을 해봐야겠다라는 생각을 하게 되었다. 수어 관련한 데이콘 자체 대회가 열리는데 도전해 볼 수 있을 것 같다는 생각이 들어 참가 버튼을 눌러 놓은 상태이다. 도전!

 

[해야할 것]

- 두 번째 미니프로젝트 공부하기(새로운 데이터로 학습시켜보기)

- 차주 게시물을 위한 첫 번째 프로젝트의 정규화 관련 내용 정리하기(이태범 팀원과 함께 작업)

 

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎㅎㅎㅎ

[회의일시]

- 2022년 05월 07일 오후 16시30분 ~ 18시00분까지 온라인 미팅 진행

 

[회의내용]

1. 영상 필터 발표(팀원1, 팀원2)

2. 미니 프로젝트 두 번째 계획

3. 첫 번째 미니프로젝트 게시물 작성 계획

 

[활동 내용]

- 대전에서 대면 미팅

- 실전 프로젝트 계획 구상

- 콘텐츠 홍보! (부스트 캠프 분들께 알려 좋아요를 요청해봤다.)

- 다음주 세미나 준비

 

[데이콘 6주차 콘텐츠]

https://dacon.io/codeshare/4898

 

[🔥포스🔥] 5편. OpenCV 영상필터편

 

dacon.io

 

[느낀점]

- opencv 관련 내용이 갈수록 어려워지는 것 같다. 생각보다 많은 기능이 있어서 기억하고 사용하는 것은 한계가 있어보인다. 필요할 때 잘 검색해서 사용하게 될 것 같은데, 이런 함수가 있었구나를 알고 있어야 떠올릴 수 있을 것 같다.

- 첫 번재 미니 프로젝트에 대한 소스를 모두 업로드하였다. 기존 한손 제스쳐 인식 모델을 양손으로 변경하고 데이터 촬영부터 전처리 모델 학습과 테스트 소스를 모두 깃허브로 공유하였다.

- 앞으로 약 2주 정도는 미니프로젝트에 대한 게시물이 올라갈 것 같다. 우리가 고민한 것들이 잘 반영되어 다른 사람들에게 좋은 인사이트르 제공할 수 있으면 좋을 것 같다.

- 추가적으로 팀원 한 명이 다음 프로젝트를 준비하고 있다. Segmentation에 대한 것이고 Pytorch로 직접 모델링 해보는 것으로 아직 파이토치가 익숙하지 않지만 열심히 토의하고 의논해봐야할 것 같다.

 

[해야할 것]

- 차주 세미나 준비

- 양손 제스쳐 인식 프로그램 UI 제작

- 게시물 작성을 위한 프로젝트 미팅 진행

 

계속해서 매주 화요일 오후 2시에 POS팀의 콘텐츠가 기재됩니다! 

많은 관심 부탁드립니다! ㅎㅎㅎㅎ

+ Recent posts