728x90

IT 417

[Tensorflow] Tensorflow Profiler 사용법

딥 러닝의 학습 효율이나 머신의 비용을 고려해봤을 때, 조금이라도 학습 시간을 단축하고 싶을 것이다. 이 때 사용할 수 있는 것이 Tensorflow Profiler이다. 이번 포스팅에서 MNIST 데이터 세트를 이용한 간략한 Tensorflow Profiler의 사용법에 대해서 알아보고자 한다. Tensorflow Profiler이란? Tensorflow Profiler는 TensorFlow의 계산시에, 처리마다 소요시간등 퍼포먼스 정보를 수집해서, TensorBoard상에 가시화해주는 툴이다. Tensorflow v2.2.0이나 Tensorflow 2.3.0에서 기능이 강화되어 보다 상세한 분석이 가능해졌다. Tensorflow Profiler 설치 Tensorflow Profiler을 이용하기 위해..

IT/AI\ML 2021.09.21

[Docker] Docker 컨테이너 실행 후, jupyter의 token 확인하는 방법

맨 처음 실행했을 때 먼저 jupyter을 docker run 커맨드로 상시 실행한다. docker run -it -d --name jupyter -p 8888:8888 -v $(pwd):/home/jovyan --restart=always -v ~/.config/gcloud:/home/jovyan/gcloud 이때의 경우 로그를 통해 token을 얻을 수 있다. $ docker logs jupyter [C 07:06:02.298 NotebookApp] To access the notebook, open this file in a browser: file:///home/jovyan/.local/share/jupyter/runtime/nbserver-6-open.html Or copy and paste o..

IT/기초 지식 2021.09.16

[Docker] docker-compose.yml 작성법 (항목 설명)

docker-compose.yml에 정의되어 있는 각각의 서비스는 특정의 image 혹은 build를 지정할 필요가 있다. 그 외의 키는 옵션이므로, docker run 커맨드 라인과 유사하다. docker run과 동일하게, Dockerfile로 지정된 옵션이 디폴트가 된다(예: CMD, EXPOSE, VOLUME, ENV). 그러므로, docker-compose.yml으로 다시 정의할 필요가 없다. image 태그나 image ID의 일부이다. 로컬이라도 리모트라도 관계없다. 로컬에 존재하지 않으면, Compose는 이미지를 pull한다. image: ubuntu image: orchardup/postgresql image: a4bc65fd build Dockerfile의 어떤 디렉토리 패스를 지정한..

IT/기초 지식 2021.09.15

[python/tensorflow2.x] Tensorflow2.x버전 작성법(2)

Model클래스의 서브 클래스화 [tf.kera-Subclassing/Imperative API] 이 방법은 전 포스팅의 Functional API와 공통되는 부분이 많다. 구체적으로 먼저 class NeuralNetwork(tf.keras.Model):이라는 코드(NeuralNetwork 클래스)를 추가적으로 작성하면 끝이다. 아래의 코드를 살펴보자. # ### 활성화 함수를 변수(하이퍼 파라미터)로써 정의 ### # 변수(모델 정의시에 필요로하는 수치) activation1 = layers.Activation('tanh' # 활성화 함수(은닉층용): tanh함수(변경 가능) , name='activation1' # 활성화 함수에 이름 붙이기 ) activation2 = layers.Activation..

IT/AI\ML 2021.09.14

[Docker] docker compose 사용법

Docker Compose 개요 Docker compose란, 여러 개의 컨테이너로부터 이루어진 서비스를 구축, 실행하는 순서를 자동으로 하여, 관리를 간단히하는 기능이다. Docker compose에서는 compose 파일을 준비하여 커맨드를 1회 실행하는 것으로, 그 파일로부터 설정을 읽어들여 모든 컨테이너 서비스를 실행시키는 것이 가능하다. Docker Compose를 사용하기까지의 주요한 단계 Docker compose를 사용하기 위해서는, 크게 나눠 아래의 세 가지 순서로 이루어진다. 1 ) 각각의 컨테이너의 Dockerfile를 작성한다(기존에 있는 이미지를 사용하는 경우는 불필요). 2 ) docker-compose.yml를 작성하고, 각각 독립된 컨테이너의 실행 정의를 실시한다(경우에 따라..

IT/기초 지식 2021.09.14

[python/tensorflow2.x] Tensorflow2.x버전 작성법(1)

TensorFlow의 세 종류/ 여섯 가지 모델 작성법 세 종류의 API 크게 아래의 세 종류의 API가 존재한다. - Sequential 모델 : 컴팩트하고 간단한 작성법 - Funtional API : 복잡한 모델을 정의할 수 있는 유연한 작성법 - Subclassing 모델 : 난이도가 살짝 높긴하지만, 자유자재로 커스터마이즈할 수 있는 작성법 한편, Sequential 모델과 Funtional API는 "선언형"을 의미하므로 Symbolic API로 불리기도하고, Subclassing 모델은 "명령형"을 의미하므로 Imperative API라고도 불리기도 한다. 선언형이란 모델의 레이어를 선언적으로 정의하는 것(Define-and-Run)을 일컫는 것이며, 명령형이란 순전파의 실행 포워드 패스를 ..

IT/AI\ML 2021.09.11

[python] 클래스 메소드(@classmethod)와 스태틱 메소드(@staticmethod)

classmethod와 staticmethod란 classmethod 클래스 메소드는 아래와 같이 @classmethod를 클래스 함수에 붙이는 문법으로 사용할 뿐이다. 첫 번째 인수로 일반적으로 사용하는 self가 아닌, cls를 사용한다. class MyClass: CLASS_PARAM = 100 def __init__(self, instance_param): self.instance_param = instance_param @classmethod def method(cls): print(cls.CLASS_PARAM) # print(cls.instance_param)는 불가능하다. 함수 안에서는 인스턴스 변수로의 액세스는 안되지만, 클래스 변수에 액세스하는 것은 가능하다. 또한, 다른 클래스 메소드나..

IT/언어 2021.09.08

[python] matplotlib의 figure(그림)과 axes(좌표축)

여러 개의 그래프 여러 개의 그래프를 그릴 경우 figure과 axes이라는 개념을 사용해야한다. figure은 그림 전체, axes는 그 내부의 좌표축이다. 그림으로 본 다면 다음과 같다. figre-axes 실제로 그래프를 2개 그리는 경우를 예로 살펴보자. [경우1] figure을 1개 준비해서, 그 안에 axes를 2개 만드는 경우 [경우2] figure을 2개 준비해서, 그 안에 axes를 1개씩 만드는 경우 왼쪽이 [경우1]에 대한 그림, 오른쪽은 [경우2]에 대한 그림이다. 코드로 나타낸다면 다음과 같다. # [경우1] x = np.linspace(-3, 3, 20) y1 = x y2 = x ** 2 # figure는 1개 plt.figure(figsize=(3, 4)) plt.subplot..

IT/언어 2021.09.07

[python] assert문 간단 사용법

assert문이란? 조건문이 True가 아닐 경우, 예외를 일으킨다. 지금까지 잘 움직이던 코드이지만, 추가로 코드를 작성했을 때 예상하지 못한 다른 동작을 하게 될 경우 assert문을 작성해둠으로써 빠르게 이를 방지할 수 있다. 머신러닝이나 데이터 분석에서는 사양을 정해져 있지 않아 시행착오를 거쳐야할 부분이 많고, 일회성 대응도 꽤 있어, 테스트 코드를 작성하는 것이 낯선 경우가 많다. 이러한 경우 assert문을 작성하는 것을 추천한다. assert문은 Jupyter Notebook에서 사용하는 것이 제일 효과가 좋다고 개인적으로 생각한다. 또한, 데이터를 읽어 들인 직후에 데이터 체크하거나, 데이터의 결합이나 갱신 직후에, 중복이나 결손값(NA)을 확인할 때에 사용하는 것도 좋다고 생각한다. 사..

IT/언어 2021.09.01

[python/pandas] 특정 위치의 값을 획득하거나 바꿀 때 사용하는 loc, iloc, iat, at

pandas.DataFrame 임의의 위치 데이터를 획득하거나 변경(대입)하는 경우에 pandas.DataFrame의 속성인 loc, iloc, at, iat을 사용할 수 있다. 먼저 네 가지는 다음과 같은 차이점이 있다. loc iloc at iat 절대 좌표(위치) 지정 x o x o 라벨명 지정 o x o x 여러개의 요소 지정 o o x x 슬라이스 표기 o o x x 1) 좌표(위치)의 지정 방법 - at, loc : 행 명(행 라벨), 열 명(열 라벨) - iat, iloc : 행 번호, 열 번호(절대 좌표(위치)지정) 2) 선택하여 확인, 변경할 수 있는 데이터 - at, iat : 하나의 요소 값 - loc, iloc : 하나 혹은 여러 개의 요소 값 리스트, 슬라이스로 범위를 지정할 수 ..

IT/언어 2021.08.16
728x90