본문 바로가기

& 프로그래밍/& Project

자율주행 자동차 개발 프로젝트

1월부터 꾸준히 공부하고 있는 프로그래밍.....

궁극적인 목표는 자율주행에 대한 프로그래밍을 개발하는 것이다

1월 중순부터 시작해서 2주동안 파이썬, C언어 기초를 끝냈고 바로 이어서 데이터베이스활용(RDBMS), MySQL을 배웠고, 머신러닝, 딥러닝, OpenCV, Tensorflow를 배웠다

 

물론 이 모든 학습을 이 짧은기간안에 완벽하게 하기란 비전공자로서는 매우 벅찬수준이었지만, 꾸준한 복습과 실습을 하면서 최대한 머릿속에 저장하려고 노력했다

 

이제 슬슬 미니프로젝트를 시작하면서 내가 만든 작업물을 포스팅하면서 직접 오류를 찾아내고 완성시켜보려고 한다

 

이번 포스팅은 내가 처음으로 만든 프로젝트로, 자율주행 자동차 개발에 대한 정보들을 모아놓은 streamlit이다

 

국내에서 자율주행 자동차 개발업체에 대한 자료조사를 바탕으로 자율주행에 대한 기본적인 지식정보, 업체소개, 개발상황등을 간략하게 정리해놓았다

[현대자동차, 카카오모빌리티, a2z오토노머스, 토르드라이브, 스트라드비전, 컨트롤웍스] 총 6개 업체를 선정했고, 이미 자율주행 개발분야에서 꽤 인지도가 높은 회사이다

 

프로젝트 개발환경은 VScode를 활용하였다.

 

streamlit를 메인으로 활용하였고, 아무래도 streamlit run을 통해 실시간으로 수정사항을 시각화해서 볼 수 있고, 즉각적인 오류를 잡아낼 수 있어서 너무 편안했다

 

또한 sidebar로 구분지어서 home, infomation, corporations, growth value 4개 섹션을 분리해서 더 깔끔하게 정리할 수 있었다

섹션을 분리하니 각 파일별로 코드라인이 100줄이 채 되지 않아 개발하는 내내 너무 쾌적했다

 

각 섹션별로 간략하게 소개를 하자면

[Information]

- 자율주행 자동차에 대한 사전적 정의, 자율주행 기술 5단계, 개발 현주소를 소개하고 있다

- 아무래도 빠르게 성장하고 있는 시장이어서 변동성이 적은 데이터를 바탕으로 작성하였다

[Corporations]

- 국내 자율주행 자동차 개발기업을 소개하는 섹션으로 각 기업에서 제공하는 자료를 바탕으로 작성하였다

- 섹션 내에서도  selectbox를 활용해서 기업별로 구분지어 놓았다

[Growth value]

- 자율주행 개발에 대한 기업 성장가능성을 예측하는 섹션

- prophet 인공지능 모듈을 이용하였고, 기업의 주식데이터를 기반으로 예측해보았다

- 주식데이터는 유명한 yfinance 라이브러리를 활용했다

- 사실 자율주행에 대한 데이터를 바탕으로 제작해야 했는데, 이 데이터는 기업의 핵심정보라 당연히 공개가 안되어있고, 때문에 아쉽지만 주식데이터를 활용했다. 대신, 기업에서 자율주행 기술을 상용화한 시점부터 계산하여 나름 내 기준에는 얼추.....? 쓸만한 예측을 하지 않았을까.....?

호스트서버에서는 모든 데이터가 정상적으로 작동되는걸 확인할 수 있었는데....

 

문제는 streamlit 가상환경에 git clone을 한 후 서버를 오픈시켰는데.....

가상환경에서 fbprophet 모듈이 계속 에러가 발생해서 growth value 섹션이 작동이 되질 않는다

여러 레퍼런스와 비슷한 오류를 가진 커뮤니티에서 검색해서 원인을 분석하고는 있는데..... 잘 안된다

 

위처럼 fbprophet을 인식할 수 없다고 나와서 prophet과 cython을 재설치 해주었음에도 오류가 수정되질 않았다

 

그리고 본 포스팅을 작성하고나서 열심히 구글링을 한 결과,

나와 동일한 오류를 가지고 있던 한 유저가 커뮤니티에 질문을 올렸는데, 그 답변에서 해결책을 찾았다!!!

!conda install -c conda-forge fbprophet -y
!pip install --upgrade plotly

fbprophet 라이브러리 설치 방법을 잘못 선택했었던 것!!!!

위 코드를 이용해서 오류를 수정하고나서 재시도를 했더니 정상적으로 서버가 연결되었다!!!!

'& 프로그래밍 > & Project' 카테고리의 다른 글

Object Detection - YOLO  (0) 2021.04.28
Object Detection- SSD모델  (0) 2021.04.28