Skip to content

Instantly share code, notes, and snippets.

View haje01's full-sized avatar

Kim Jeong Ju haje01

View GitHub Profile
@haje01
haje01 / TensorFlow 시작하기.md
Last active May 3, 2024 07:30
TensorFlow 시작하기

텐서플로우 시작하기

글쓴이: 김정주(haje01@gmail.com)

이 문서는 텐서플로우 공식 페이지 내용을 바탕으로 만들어졌습니다.


소개

텐서플로우(TensorFlow)는 기계 학습과 딥러닝을 위해 구글에서 만든 오픈소스 라이브러리입니다. 데이터 플로우 그래프(Data Flow Graph) 방식을 사용하였습니다.

Kinesis로 App 로그 다루기

글쓴이: 김정주(haje01@gmail.com)

이 글은 AWS 블로그를 참고하고 추가/보완하여 작성되었습니다.


Kinesis는 아마존 웹서비스(AWS)에서 제공하는 실시간 데이터 처리기이다.

@haje01
haje01 / input_data.py
Last active December 29, 2022 09:33
input_data.py for TensorFlow MNIST Sample
"""Functions for downloading and reading MNIST data."""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import gzip
import os
import numpy
from six.moves import urllib
from six.moves import xrange # pylint: disable=redefined-builtin
SOURCE_URL = 'http://yann.lecun.com/exdb/mnist/'
@haje01
haje01 / Snakefile
Last active October 21, 2022 04:27
Snakemake 로 다수 서버의 타임존 갱신
## 다수 서버의 타임존 한 번에 갱신 하기
#
# # Asia/Seoul 존의 경우 ($ 에 주의)
# $ snakemake -F temp/Asia/Seoul$ -j
#
# # America/Argentina/Cordoba 의 경우
# $ snakemake -F temp/America/Argentina/Cordoba$ -j
#
# 업데이트 대상 호스트 주소
@haje01
haje01 / 대화형 챗봇 설계의 과제.md
Last active June 15, 2022 09:33
대화형 챗봇 설계의 과제

최근 인공지능을 활용한 챗봇에 대한 관심이 높아지고 있습니다. 챗봇 설계에 관한 좋은 글이 있어 번역을 해보았습니다. 이 글은 IBM DeveloperWorks에 기재된 Michael Yuan의 글을 번역한 것으로 의역이 있습니다. - 김정주(haje01@gmail.com)


대화형 챗봇 설계의 과제

사용자는 챗봇이 매우 간단하고 최소한의 요구만 하기에 좋아합니다. 그것은 대화식 문자 메시지처럼 간단해질 수 있습니다. 또한, 사용자는 자신이 선호하는 메시지 앱에 계속 머물기를 선호합니다. 앱, 웹 URL, 메뉴, 버튼, 광고, 크롬 및 기타 요소를 탐색하지 않고 바로 목표를 달성하고자 합니다. 그러나 이 단순성은 큰 설계 과제도 제시합니다. 챗봇은 사용자의 말을 정확하게 이해하고 적절히 행동해야 합니다. 이것은 오늘날 최고의 자연어 AI (인공 지능)에게도 매우 어려운 과제입니다.

현재 상태의 AI에서는, 대화식 문자 메시지 또는 대화식(Conversational) UI, 즉 CUI는 (안타깝게도) 거의 항상 잘 설계된 그래픽 UI(GUI)보다 열등합니다. GUI와 비교하여 CUI는 초기 단계에 있습니다. 커뮤니티로서 우리는 여전히 CUI의 디자인 패턴과 우수 사례를 모색하고 있습니다. 이 튜토리얼에서는 챗봇이 왜 실패하고 성공할 수 있는지 설명합니다.

이 글은 안드레이 카패시의 글 소프트웨어 2.0 을 번역한 것입니다. 의/오역이 있을 수 있습니다.


소프트웨어 2.0

나는 때때로 사람들이 뉴럴넷을 "기계학습 도구 상자의 또 다른 도구"로 언급하는 것을 본다. 뉴럴넷은 장단점이 있다. 여기 저기에서 동작하고, 때로는 캐글 경쟁에서 승리하는데 사용할 수도 있다. 그러나 이 해석은 완전히 나무만 보고 숲을 보지 못하는 것이다. 뉴럴넷은 단지 또 다른 종류의 분류기가 아니다. 그것은 우리가 소프트웨어를 작성하는데 있어 근본적인 변화의 시작을 나타낸다. 그것은 소프트웨어 2.0이다.

소프트웨어 1.0의 "고전적인 스택"은 우리가 익숙한 것이다. 그것은 Python, C++ 등의 언어로 작성이 되어 있고, 프로그래머가 작성한 구체적 명령으로 구성되어 있다. 프로그래머는 코드의 각 라인을 작성하는 것으로 프로그램 공간의 특정 포인트를 어떤 원하는 행동으로 확정짓고 있다.

@haje01
haje01 / 도커와 AWS를 활용한 클라우드 딥러닝 환경 구축.md
Last active December 20, 2020 08:56
도커와 AWS를 활용한 클라우드 딥러닝 환경 구축

도커와 AWS를 활용한 클라우드 딥러닝 환경 구축

글쓴이: 김정주(haje01@gmail.com)

최근 딥러닝 관련 패키지들은 대부분 CPU와 GPU를 함께 지원하고 있습니다. GPU를 사용하면 보다 빠르게 학습 결과를 낼 수 있지만, GPU를 활용하기 위해서는 NVIDIA계열의 그래픽 카드, 드라이버 S/W 그리고 CUDA의 설치를 필요로 합니다.

이 글에서는 AWS의 GPU 인스턴스와 도커를 활용해 딥러닝 패키지(Caffe)를 편리하게 사용하는 방법을 소개합니다.


@haje01
haje01 / rl_roboschool_ray_distributed_simple.ipynb
Last active May 11, 2019 11:47
SageMaker RL에서 Ray로 Roboschool Reacher 풀이
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Docker로 Caffe 실습하기

글쓴이: 김정주(haje01@gmail.com)

Caffe는 강력한 딥러닝 툴이지만, 설치가 까다로워 접근하기가 쉽지 않습니다. 이에 Docker를 활용하여 실습하는 방법을 소개합니다.

Docker 설치

설치과정은 많은 파일을 받아야 하기에 인터넷이 빠른 곳에서, 충분한 시간(2시간 이상)을 가지고 진행해야 합니다.

@haje01
haje01 / sample.py
Last active March 8, 2018 04:25
Pandas 예제
def do_group(gdf):
"""각 그룹별 처리."""
# 대상 그룹이 아니면 그대로
if gdf.group.iloc[0] not in groups_need_change:
return gdf
# value가 없는 인덱스
nidx = gdf.value.isna()
# value가 있는 인덱스
pidx = ~nidx