레이블이 스파르타 코딩클럽인 게시물을 표시합니다. 모든 게시물 표시
레이블이 스파르타 코딩클럽인 게시물을 표시합니다. 모든 게시물 표시

2020년 12월 27일 일요일

[스파르타 코딩클럽] 이미지처리로 배우는 딥러닝 회고



1. 
수강 목적: 스파르타 온라인 수업을 신청한 이유
스파르타 코딩클럽의 장점은 쉽고 재밌다는 데에 있는 것 같다. 딥러닝에 대해서는 이론적으로만 접해봤지, 코딩을 한 것은 먼 옛날이고 최근에 나오는 내용은 전혀 모르고 있었던 터라, 쉽고 재미있게 다시 접근해보고자 수업을 신청하게 되었다. 

2. 배운 점/잘한 점: 많이 배웠고 스스로 잘했다고 생각하시는 점을 적어주세요!
이미지 처리 부분에 대한 내용과 거기에 사용되는 딥러닝 모델들을 활용하는 것은 확실히 배운것 같다. 
 
3. 보완/발전하고 싶은 점: 수강하는 과정에서 스스로를 보완하고 발전하고 싶은 점을 적어주세요
더 나아가 자연어 처리 관련된 모델들도 한 번 실행 해 보고 싶다. 

4. 앞으로의 계획: 이번 수업이 인생 마지막 코딩..아니시죠? 앞으로의 계획과 목표를 적어주세요 :-) 

확실히 이번 스파르타 온라인 강의를 신청한 목적은 이룬 것 같다. 이미지처리에 국한되긴 했지만 다양한 모델들을 간단히 처리하고 얼굴인식, 사진 컬러/해상도 복원하는 기능들을 사용해 봤다. 

아쉬운 점은 이곳에 사용된 모델들이나 기술들에 대해서는 그냥 소개만 하고 넘어갔다는 점이다. 아마 강의의 목적이 쉽고 빠르게 접해보도록 하는 것이기 때문에 어쩔 수 없는 것 같다. 이런 아쉬운 점은 대신 앞부분에 이론/기술적 설명을 해주는 강의(꿀팁강의)가 따로 추가되는 식으로 보완해 주는 것 같았다.

궁금한 점은 이렇게 강의에 소개된 모델들이 정말 free로 사용가능한 것인지, 이런 다양한 model 파일들을 또 어디서 찾아볼 수 있을지. 이런 것들은 차차 알아봐 가면 좋겠다.

5주동안 약 3~4시간 정도 투자해가면서 배운 터라 실력이 깊지 않고, 숙제도 거의 강의에 나온 내용들을 따라한거라 좀 밋밋하긴 하다. 꿀팁영상에서 나온 내용들을 다시 한 번 보고, 다른 모델들이 어떻게 사용되고 있는지 현재 트렌드를 읽는 수준까지 가는것을 목표로 공부해 봐야겠다.

2020년에 찍은 사진중 마음에 드는 사진을 이번에 배운 내용을 토대로 변환해 봤는데 결과가 썩 맘에 든다. 생각보다 재미있었고 유용한 강의였어서 만족하는 중이다. 

어렵게만 느껴지던 딥러닝을 이렇게 쉽고 재밌게 구성하다니.. 이런거는 스파르타 코딩클럽의 장점인 것 같다. (스파르타코딩클럽과 강의를 준비해주신 튜터분들꼐 감사드립니다.)

2020-12-27. 마치며.

2020년 9월 9일 수요일

스파르타 코딩클럽 (9기) 후기

 1. 프로젝트 소개

    로또 번호 자동 추천 웹 (그냥 뽑기) 


2. 취지

    재미를 위해서. 


3. 녹화 영상


4. 설명 (+ 경험했던 난관)

    페이지 이름은 LLL로 지었다. Lotto Lucky Luxury. 운좋게 화려한 로또 번호를 받아보자는 취지이다. 

    페이지는 크게 3개 페이지로 구성되어있다. 각 L당 페이지 1개이다. 페이지 이동은 화면 상단에 있는 메뉴 선택으로 이동 가능하다.


Lotto

    Main page로 뜨는 화면이다. 기본적으로 최신 회차의 번호를 보여주고, 1회차 부터 지금까지 뽑혔던 번호를 나열해서 보여준다. (별 쓸모가 없다.)

* 개선할 점 (나쁘게 말하면 문제점)

  • Main page에 뜨는 회차가 사실 최신 회차가 아니다. 최신 회차를 자동으로 계산해서 변수로 받는 기능을 구현해야 했는데, 시간이 부족해서(귀찮아서) 그냥 최초 작성 시점인 '924'회차가 최신 회차로 뜬다. 
  • Main page에서 구현된 기능들이 페이지에 뜨는데 5초이상 걸린다. 900개가 넘는 회차의 번호들을 DB에서 불러오느라 그런 듯 하다. 차라리 지우는게 나을 수도 있겠다.

Lucky

    그나마 지금 가장 동적인 페이지다. 상단 메뉴에서 Lucky 메뉴를 누를 때 마다 새로운 6개 조합의 숫자를 보여주고 아래 테이블에 표시해 준다. 

* 개선할 점 

  • 뽑기 버튼이 따로 있으면 싶다. 시간이 부족했다. 
  • 뽑힌 숫자들이 아래 테이블에 쌓이는데, 테이블을 refresh해주는 기능을 만들려 했으나 역시 시간이 부족했다. 그래서 그냥 Lucky페이지에 다녀오면 refresh해주게 만들었다. 
  • 별 기능이 딱히 없다. 그냥 random 함수로 뽑은 6개 함수를 보여주는 거다. 아무런 개념이나 생각이 들어있지 않다. 그런데 또 그런게 나름 재미있을 것 같기도 하다. '랜덤으로 만든 숫자들 가지고 블록 꺠기 게임같은걸 구현해 볼까'라는 생각이 든다.

Luxury

    정말 럭셔리한 방법으로 숫자를 뽑아내는 뭔가를 만들려 했던 페이지이다. 지금은 최대 출현 숫자 / 최소 출현 숫자 6개를 보여주고 그 아래에 각 숫자별 최근까지 출현한 횟수를 계산해서 보여주는 정도가 구현되어 있다. 

* 개선할 점 

  • 출연 횟수가 겹치는 경우가 있다. 예를 들어 6개 숫자를 보여주고 있는데, 6번째 7번째 숫자가 동률로 6번째로 많이 출현된 경우에는 둘 중 한 숫자만 보여준다. 동률인 경우에는 동률인 숫자도 표현하는 기능이 추가 필요하다. 
  • 아래에 있는 입력 칸은 아직 아무런 구현이 되어 있지 않다. 사용자가 원하는 숫자를 고르면 그 숫자들은 무조건 선택되는 기능을 구현하고자 했으나 시간이... 
  • 그 외에 정말 럭셔리한 방법으로 숫자를 뽑아내는 기능을 구현해보고 싶다.

5. 후기

    취지는 재미를 위해서 였다. 간단한 페이지지만 정말 재밌기도 했다. 그리고 나름의 철학이 있었다고 생각한다. 

    물리학 전공자로서 배웠던 통계물리 & 열역학 지식을 기반으로 확률을 조정하는 방식으로 해서 뽑아주는 무언가를 만들고자 했다. 전자(electron), 혹은 Fermion의 energy state, 확률 분포와 불확정성 원리까지 프로젝트를 하면서 대학때 배웠던 내용을 갖고 별의별 생각을 다 한거같다.

    근데 막상 그 확률 조정 방식을 수식으로 구현하는데 실패. 우선은 이번 기회에 배운 코딩 스킬을 향상하기 위한 목적으로 (혹은 유지만 하기위해서도...) 그냥 간단한 알고리즘부터 만들어 보는게 좋겠다는 생각이 든다.  

    그래도 나름 데이터 기반과 기초적인 지식은 쌓을 수 있었다. 

1. 900회가 넘어가는 회차동안 뽑힌 숫자를 모을 수 있었다.

    비 전공자로서, 스파르타 코딩클럽에서 처음 알게된 API라는 것을 알기 전에는 '나눔로또 사이트에서 엑셀로 하나하나 숫자들을 노가다로 긁어와야 하나' 라고 막연히 생각하고 있었다. 이번 기회를 통해서 단번에 DB화 할 수 있는 방법도 알았고 실제로 데이터를 모아 올 수 있었다.

2. 기본적인 통계를 내 보았다. 

    정말 기본적인 Minimum / Maximum을 sort하여 표현할 수 있었다. 숫자 계산이라는 것도 10진법과 덧셈 뺄셈을 알면 그 이후는 그 개념에서 확장되어 가는 것 처럼, 이번에 만든 기본을 바탕으로 확장해 보고자 한다.  

    

    스파르타 코딩클럽을 통해 Front-end부터 Back-end까지 배우고, 직접 구현해 본 이번 경험이 나에겐 너무나 재밌는 경험이었다. 그리고 이 기반을 가지고 앞으로 어떻게 해볼지 생각만으로도 재밌다. (굳이 더 만들 생각말고, 생각만 하는 것도 나쁘지 않을 것 같다ㅋ)

    '4. 설명' 부분에 '*개선할 점'으로 써놓은 부분들이 이번 프로젝트의 'spec-out' 이라고 생각된다. 코딩 수업을 들어면서 튜터님이 자주 외치던 "spec-out !!"이란 말이 귀에 들리는거 같다. 개선할 것들을 앞으로 조금씩 만들어 나가며 이번 경험을 잘 살려나가보고자 한다. 

    마지막으로 이번에 좋은 경험을 할 수 있게 도와주신 스파르타 코딩클럽, 즐겁게 함께 배웠던 동료들, 그리고 이현호 튜터님께 감사드립니다 :)


끝.

(IP address는 이 사이트를 공개해도 괜찮을지 좀 알아보고 & 생각을 해 본 후 공개하도록 하겠습니다).