서론 이번 과제는 CNN을 이용하며, 나무 사진을 모델에 학습시킨 후 직접 찍은 나무 이미지를 잘 분류하는지 테스트하는 과제이다. 한동안 이 과제 때문에 나무가 보일때마다 사진찍고 다녔던 것 같다..ㅋㅋㅋㅋ 그리고 사전학습 모델인 VGG16모델을 사용하였고, 이미지넷에서 학습한 가중치를 사용하였다. 또한, 과적합을 막기 위한 여러가지 방법들을 적용해보았다!. 코드 설명 코드_1 tensorflow, numpy, matplotlib.pyplot을 import 해줍니다. VGG모델을 사용할 것이므로 VGG16을 import해줍니다. VGG모델의 마지막 완전연결층을 사용하지 않을 것이기 때문에 모델 생성을 위한 Input, Dense, Flatten을 import합니다. 과적합을 막고 정확도를 높이기 위해 배..
서론틱택토 데이터를 통해, 지도학습을 수행하고 최적의 하이퍼 파라미터를 찾아보았다.1. 데이터 가져오기깃허브에서 틱택토 데이터를 다운로드 받아 사용하였다. 2. 코드 설명코드_1tensorflow, numpy, matplotlib.pyplot을 import 해줍니다.numpy는 데이터가 많으면 생략해서 보여주기 때문에 sys를 import한 후, np.set_printoptions(threshold=sys.maxsize)를 하게 되면, 생략 없이 배열의 모든 원소를 보여주게 됩니다. (처음에 true와 false를 3,4의 값으로 주었을 때 y_true를 원핫 인코딩했을 때 두 개의 요소이기 때문에 01, 10으로 나올 것으로 예상했지만 00010, 00001으로 나오는 것을 인지하지 못하여 출력개수를 ..
서론 22년 1학기 (3학년 1학기) C#을 이용한 음식점 예약 프로그램을 만들어보았다. 이때 처음으로 DB를 써보았는데, 이제 진짜 개발자가 된 것 같은 느낌이 들었었다!! 데이터 베이스 이론 수업을 들으며 DB를 프로그램에 연결해보았을 때 너무 재미있었던 기억이 있다! 아무튼, 맛집 추천과 음식점 예약에 필요한 기능들을 만들었으며, 공공데이터 포털에서 CSV파일을 받아서 MySQL에 넣어서 사용하였다!. 1. 회원가입 처음 프로그램을 실행하면 로그인 화면이 나오며 회원가입을 진행할 수 있다. ID 중복 체크는 DB의 customerprofile 테이블에서 ID를 확인하여 중복이 되는지를 확인한다. 회원가입 성공 시 DB에 잘 저장되는 것을 확인할 수 있다. 2. 로그인 로그인 성공 시 로그인 성공 메..
서론 21년 2학기 (2학년 2학기) 이번에는 윈도우즈 API 프로그래밍을 통해 과제를 수행하였다. 되게 생소하고, 어려웠던 기억이 있따.. 아무튼 기본 프로그램인 그림판을 만들어보려고 했다! 1. 초기화면 백지 화면 아님!! 2. 그리기 도구 도구 선택 시 직선, 사각형, 타원을 선택할 수 있따. 마우스를 통해 위처럼 그릴 수 있당. 3. 펜 펜 색상을 선택할 수 있다. 4. 브러쉬 브러쉬는 내부에 채울 색을 지정한다. 5. 지우기 영역 지우기는 선택한 영역 만큼만 지우고, 전체 지우기는 전체 캔버스를 모두 지운다! 결론 뭔가 화면내에서 이것저것 바뀌고 이런게 신기하긴 했지만, 흥미롭지는 않았던 것 같다.. 개인적으로 신기하긴 했지만, 별로 재미있지는 않았던 과목이어따..
서론 21년2학기 (2학년 2학기) 객체지향 프로그래밍에서 과제로 제출했던, 음악 플레이 리스트 프로그램이다. 사실 말이 음악 플레이 리스트 프로그램이지, 실제 음악을 들을 수는 없다 ㅋㅋ. C++ 언어로, 음악 목록 확인, 음악 랜덤 재생, 음악 검색 (제목, 번호), 음악 추가, 음악 삭제 등의 기능을 만들어보았다. 1. 초기화면 여러 기능들을 선택할 수 있다. 2. 음악 목록 확인 .txt 파일에서 음악 목록을 읽어온다. 3. 음악 랜덤 재생 랜덤으로 목록에서 재생할 음악을 선택해서 보여준다. 4. 음악 검색 음악을 검색하여 재생할 수 있다!. (트랙번호, 제목으로 검색) 5. 음악 추가 새로운 음악을 추가하면 음악 목록에 추가된다. 6. 음악 삭제 삭제 시 뒤의 숫자들이 앞으로 당겨진다! 추가하고..
서론 아래와 같은 문제를 파이썬을 통해 풀어보고, 그래프로 보여주는 과제였다. 넘파이를 이용하여 행렬 Ax = b로 표현하고, Pseudo Inverse를 이용하여 직접 계산한다. A = PLU로 분해하여 계산한다. 넘파이의 선형대수 모듈에 구현되어 있는 np.linalg.lstsq()를 이용하여 계산한다. b= C + Dt에서 C, D를 상수로 고정(예, C= 1, D = 2)한 직선에서 50개의 데이터를 데이터를 생성하고, 난수를 추가하여 위의 1, 2, 3의 방법으로 계산합니다. 문제 1 시나리오 A와 b를 행렬로 표현한다. np.linalg.pinv(A)를 이용하여 A의 Pseudo Inverse를 구한다. x = Psuedo Inverse(A) • b 이므로 np.dot(PseudoA, b)를 ..
서론 파이썬을 이용해 선형대수 문제를 풀어보는 과제였다. 문제 해당 연립방정식을 파이썬의 numpy, scipy를 통해 계산한다. 1. numpy.linalg.solve() >>> import numpy as np >>> A = ([[0,4,0],[1,1,1],[2,4,5]]) >>> B = np.array([1,1,1]) >>> C = np.linalg.solve(A,B) >>> print(C) [ 1.25 0.25 -0.5 ] A행렬을 계수행렬로 만듭니다. B행렬을 만듭니다. np.linalg.solve()를 이용해 해를 구합니다. 2. 역행렬로 해를 계산 >>> import numpy as np >>> A = ([[0,4,0],[1,1,1],[2,4,5]]) >>> B = np.array([1,1,..
서론 이번에는 자바 스윙을 이용한 GUI를 만들었다. 영화 예매 어플을 생각하고 만들었다. 1. 로그인 로그인 기능을 넣어 실패 시 아래에 실패한 것을 알려주는 텍스트를 생성해준다. 2. 메인화면 로그인 성공 시 나오는 메인 화면으로, 상영중인 영화는 3개를 넣었다. 왼쪽 상단의 메뉴바에서 예매한 내용을 확인할 수 있다. 3. 예매 영화 포스터를 누르면 해당 영화의 상영 시간을 선택할 수 있는 라디오 버튼이 나온다. 라디오 버튼에서 선택 시 좌석을 선택할 수 있는 체크박스, 예매를 위한 버튼이 있는 새로운 창이 나온다. 좌석 선택 후 예매 버튼 클릭 시, 예매표에 영화이름, 시간, 좌석의 예매표와 함께 영화 에티켓이 작성된 화면이 나오게 된다. 에티켓은 파일 입출력을 사용해보라고 교수님이 얘기하셔서 넣었..