일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- linux
- 순열
- 프로그래밍
- 운영체제
- DFS
- BFS
- 동적 프로그래밍
- 딥러닝
- 코딩 테스트
- 리눅스
- 킥스타트
- CSS
- 코딩
- google coding competition
- 구글 킥스타트
- 프로그래머스
- AI
- PYTHON
- 코딩테스트
- OS
- 백준
- 파이썬
- 브루트포스
- 네트워크
- kick start
- nlp
- 그래프
- 알고리즘
- dp
- 동적프로그래밍
- Today
- Total
목록Keras (6)
오뚝이개발자

GPU 환경세팅을 하면서 정말 삽질을 많이 했다....하....이게 참 버전 간 호환성을 맞추는 것도 일이다. 잘못 설치했다가 GPU를 인식하지 못해서 GPU 환경에서 돌리지 못한 경우도 생겼다. 아나콘다 설치 아나콘다는 AI나 데이터 분석에 필요한 여러 라이브러리들을 묶어둔 패키지이다. 이를 다운받아서 사용하면 일일히 필요한 라이브러리들을 설치하지 않아도 되서 매우 편하다. https://www.anaconda.com 에 들어가서 본인의 OS 환경에 맞는 버전을 다운받으면 된다. 중요한 것은 설치 도중 "Add Anaconda3 to my PATH environment variable"에 체크를 반드시 해주어야 한다는 것이다!!!!! conda 가상환경 만들기 conda를 사용해 가상환경을 만들어주어야..
tensorflow나 keras를 사용해 ML 코드를 돌릴 때 CPU가 아닌 GPU에서 돌아가도록 설정하는 방법에 대해 소개한다. 방법은 크게 2가지 정도가 있는데 본인이 원하는 상황에 따라 맞게 사용하면 된다. 방법 1 : 원하는 부분에만 GPU로 실행하도록 하기 # 텐서를 GPU에 할당 with tf.device('/GPU:0'): a = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]) b = tf.constant([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]) c = tf.matmul(a, b) print(c) 위와 같이 with문으로 사용하면 특정 컨텍스트를 묶어 해당 부분만을 특정 GPU로 실행되도록 한다. 이 때, 어떤 GPU를 사용할 ..
케라스에서 optimizer로 RMSprop을 사용하다 보면 위와 같은 에러가 나오는 경우가 많다. 아마 버전 문제이거나 import 형식 때문인 것 같은데(구체적인 원인은 잘 모르겠다...) 하지만 해결법은 알고 있음!!! ㅎㅎ 이런 경우 대부분 아래와 같이 사용했을 경우가 많다. import keras model = ~~~~....# 대충 이 부분에 model definition을 했다고 한다면 model.compile(loss='categorical_crossentropy', optimizer=RMSprop(lr=0.001), metrics=['accuracy']) 이 때 실행을 돌리면 AttributeError: module 'keras.optimizers' has no attribute 'RMS..

케라스의 구조가 내부적으로 어떻게 되어있는지를 파악하는 것은 본인이 어느 위치에서 작업을 하고 있는가를 파악하는데 중요하다. 오늘은 케라스의 시스템이 내부적으로 어떻게 구성되어 있는지에 대해 알아보자! 아래 그림은 케라스의 내부 구조를 도식화 한 것이다. 중앙의 큰 사각형은 하나의 가상환경(virtual environment)이다. 이러한 가상환경은 user가 만들기에 따라 여러개 있을 수도 있다.(virtual env1, virtual env2...) 실제로 우리가 직접 다루는 부분은 바로 python, keras 부분이다. 사실 케라스를 사용하면 그 아랫단인 tensorflow까지도 잘 만지지 않는다.(디테일한 텐서 level에서의 설정이 필요한 경우가 아니고서는 말이다.) 그 아랫단인 cuDNN, ..

딥러닝 층을 구성할 때 행렬 계산이 어떻게 이루어지는지를 이해하는 것이 중요하다. 그래야 행과 열의 수를 잘 맞추어 계산을 할 수 있기 때문이다. 이 글에선 Keras를 사용한 코드에서 실제 행렬 연산이 어떻게 이루어지는지 그림으로 도식화하여 설명하고자 한다. 아래와 같은 간단한 딥러닝 모델을 구성하는 코드가 있다고 해보자. network.add(layers.Dense(512, activation='relu', input_shape=(28*28,))) network.add(layers.Dense(10, activation='softmax')) network.fit(train_images, train_labels, epochs=5, batch_size=128) keras의 Dense() 메서드 안의 수는 ..

케라스 창시자에게 배우는 책의 실습 코드를 작성하고 깃허브에 올려두었다. 바로 아래 책이다. 책의 내용이 아주 좋은 것 같다. 설명이 충분해서 예제 코드들을 이해하고 따라서 실습해보기에 무리가 없다. 나는 해당 책의 코드 실습과 더불어 모델의 정확도를 높이기 위한 다양한 시도들을 개인적으로 해보았다. 간단하게는 층이나 은닉 유닛의 갯수를 조절하는 것에서부터 복잡하게는 optimizer나 loss function을 바꾸고, early stopping과 같은 regularization 기법을 사용하는 것까지 말이다. 깃허브 레포지토리 링크를 여기에 올려두니 책을 공부하며 함께 참고하면 좋을 듯하다. 아래 레포지토리 링크로 깃허브에 접속하면 서로 다른 데이터셋을 사용한 실습 코드들을 볼 수 있다. https:..