일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- cv2
- yolov8 커스텀 학습
- tf.keras.layers.lambda
- Lambda Activation
- 강화 학습 적용
- Jupyter Notebook
- Actor Critic
- yolov8
- TensorFlow lambda
- reinforcement learning
- SentenceBERT
- Image Cosine Similarity
- yolov8 load weights
- pygame
- 오목 AI
- AI 오목
- yolo webcam
- CV
- 프로그래머스데브코스
- 코딩부트캠프
- nlp
- 오목
- YOLO
- 국비지원교육
- 바둑판 만들기
- 강화학습
- cuDNN WARNING
- will not use cuDNN kernels
- PYTHON
- object detection
- Today
- Total
목록전체 글 (58)
Silinu's AI Study
오늘 시도한 기법 Darts 생각 어제의 Dart 코드의 하이퍼파라미터 값을 변형해보자. 실행 다음과 같이 변경하였다. input_chunk_length: 128 → 28 Batch size: 256 → 128 결과 717점이 나왔다. 분석 저번 LSTM을 실험할 때 Sequence Length를 210으로 했을 때보다 28로 했을 때 더 성능이 좋았기 때문에 이번에도 128이 기본으로 되어 있던 것을 변경했는데 좋은 결과가 나왔다. 아무래도 28일을 예측하는데 너무 많은 Sequence Length는 필요 없는 것 같다. 오히려 더 줄였을 때의 결과도 궁금하다. Batch size도 마찬가지로 저번의 경험을 토대로 줄여봤다. 256으로 했을 때 결과가 721이었던 것이 현재 128로 줄임으로써 717로..
오늘 시도한 기법 Darts 생각 코드 공유에 올라와있는 코드를 실험해보자. 실행 코드 공유에 들어있는 코드를 직접 실험하였다. 결과 752점이 나왔다. 분석 여러 가지 모델을 한꺼번에 실행하는 모델인 것 같은데, 어떻게 돌아가는지, 어떤 모델이 포함되어 있는지 과정을 제대로 파악할 필요가 있을 것 같다. 해결할 리스트 다른 사용 가능한 Regressor를 찾아볼 것 열 가공 처리를 어떻게 할 지 생각할 것 잘 나온 모델들을 가지고 Ensenble 모델을 만들어볼 것 Batch size를 좀 더 줄여서 Bidirectional LSTM 모델을 학습해볼 것 Loss 값을 확인해볼 것 +(New) Darts 모델 알고리즘을 이해할 것

환경 : Window, Python 3.9, Jupyter notebook(Anaconda 설치된 상태), GPU 환경 지난 과정 바둑판 만들기 5목을 두면 승리하기 흑돌이 44, 장목을 두지 못하게 하기 흑돌이 33을 두지 못하게 하기 앞의 과정을 거쳐 오목 프로그램을 만들면 다음과 같이 실행되는 것을 확인할 수 있다. 짧게 지나가서 잘 안보일 지도 모르지만, 33을 두려고 할 때, 상단에 "금수입니다. 그 곳에 둘 수 없습니다." 메세지가 뜨는 것을 확인할 수 있다.
오늘 시도한 기법 LSTM 생각 저번 LSTM의 층, epoch, Batch size을 바꿔보자. 실행 아래와 같이 변환하였다. 입력 sequence: 60 → 28 LSTM층: 기존보다 두 층 덜 쌓음. Epoch: 3000 → 5000 Batch size: 1 → 32 결과 1610 → 1368점이 나왔다. 분석 adam을 SGD로도 변환하여 시도하였을 때 500점 이상 차이나게 점수가 나왔다. 사용하지 말거나, SGD에 맞는 모델을 새롭게 찾거나 해야한다. 처음으로 입력 sequence 값 변화를 시도했는데 좋은 결과가 나왔다는 얘기는 조금 더 바꿔서 실험해볼 필요가 있을 것 같다. 층 수가 낮음에도 좋은 결과가 나왔다는 것은 이전의 모델이 이미 너무 overffiting이 된 것이 아닌 지를 의심..
환경 : Window, Python 3.9, Jupyter notebook(Anaconda 설치된 상태), GPU 환경 지난 글에 이어 이번에는 33일 때 흑돌이 둘 수 없게 코드를 구현하였다. 44의 경우 현재 흑돌이 입력된 위치에서 상하좌우 5칸씩 떨어진 곳을 기준으로 가로, 세로, 양쪽의 대각선이 3개를 가지고 있으면서 백돌이 막혀져 있는지 여부를 확인한다. ok는 33일 경우 True, 아니면 False이다. def check_33(x,y,board): ok = False # 33이면 ok = True로 바뀜 # x, y 중심으로 board 가져오기 player_1 = np.array([[0,1,1,0,0],[0,1,0,1,0],[0,0,1,1,0]]) num1 = player_1.shape[1]..
환경 : Window, Python 3.9, Jupyter notebook(Anaconda 설치된 상태), GPU 환경 지난 글에 이어 이번에는 장목, 44일 때 흑돌은 둘 수 없게 코드를 구현하였다. 33룰은 다음 글에 마저 올리도록 하겠다. 장목의 경우 저번 글의 check_win 함수에서 num 값을 입력 받아 num개가 연속으로 나란히 있는 것을 확인하는 코드를 만든다. 장목 함수 코드는 다음과 같다. def check(num, board): player_1 = [[0,0],[0,2],[2,0],[2,2]] for i in range(4): for j in range(num): player_1[i].insert(1,1) player_1 = np.array(player_1) player_2 = np..
오늘 시도한 기법 LSTM 생각 저번 LSTM의 층, epoch, Learning rate, Batch size을 바꿔보자. 실행 LSTM층을 한 층 더 쌓고, epoch가 1000이었던 것을 3000으로 변환했고, Learning rate를 각 item별로 나눠서 다르게 주었고, Batch size를 넣지 않았다. 결과 1610점이 나왔다. 분석 아예 싹 모델을 다르게 변화 시켜야 할 것 같다. 일부 item을 학습할 때 Learning rate가 높으면 자꾸 NaN 값이 나와 item 별로 바꿨다. 아예 Learning rate를 처음부터 적게 줘서 통일하는 것도 하나의 방법이 될 수 있을 것 같다. epoch가 3000이나 줬는데도 저번보다 성능이 낮아졌다는 얘기는 이미 최고점이 1000이었을 수도..
오늘 시도한 기법 LSTM Bi-Directional LSTM 생각 저번 LSTM의 unit, 층을 바꿔보자. 실행 unit이 15였던 층을 전부 20으로 변환했고, 2번에 걸쳐 output length를 줄였던 것을 한 번에 output length 줄였다. 1번에서 Batch size를 바꾸고, LSTM 코드를 Bidirectional LSTM 코드로 바꿨다. 결과 1439점이 나왔다. 1474점이 나왔다. 분석 저번에는 1430점이 나왔는데, 층을 완전히 변화하여 모델을 다른 구조로 변화해야 할 것 같다. 시간은 조금 더 걸리더라도 Batch size를 크게 하면 안될 것 같다. 또한 Bidirectional LSTM 코드의 형태도 다른 구조로 변화하여 실험해야 할 것 같다. 해결할 리스트 다른 사..
환경 : Window, Python 3.9, Jupyter notebook(Anaconda 설치된 상태), GPU 환경 오목 룰 중에서 다른 룰은 다음 글에 작성하기로 하고, 이 글에서는 5개가 연속으로 나란히 있을 때 승리인 조건으로 한다. 코드는 다음과 같다. import sys import pygame import numpy as np 아래 함수는 어느 플레이어가 이겼는지, 이기지 않았는지 확인하는 함수이다. 각각 가로, 세로, 대각선으로 나눠 확인한다. def check_win(board): player_1 = np.array([1,1,1,1,1]) player_2 = np.array([2,2,2,2,2]) winner = 0 # 가로(-) for i in range(board.shape[0]):..

환경 : Window, Python 3.9, Jupyter notebook(Anaconda 설치된 상태), GPU 환경 바둑판 만들기 pygame 모듈 설치하기 pygame을 활용한 바둑판 만들기 1. pygame install conda install pygame 위 코드로 Anaconda 가상 환경에서 설치하려고 시도했을 때 아예 깔리지 않았다. conda install -c conda-forge pygame 위 코드를 사용하여 Anaconda 가상 환경에서 깔려고 시도했을 때 설치하는 시간이 오래 걸리고, 현재 환경과 충돌이 일어났다는 메세지를 받았다. 그리고 jupyter notebook 환경에서 import가 되지 않았다. pip install pygame 결국 3번을 Anaconda 가상 환경..