SlideShare uma empresa Scribd logo
1 de 72
WINDOWS에서
JUPYTER NOTEBOK
/TENSORBOARD
이해하기
Moon Yong Joon
WINDOWS에
환경구축
Moon Yong Joon
Windows 환경
widndows 조건
windows내에서 docker를 사용하기 위한 조건
1. 64-bit 운영체제여야만 한다.
2. 윈도우 버전이 윈도우 7 혹은 그 이상이여야 한다.
3. OS에서 가상화(Virtualization)가 가능해야 한다.
widndows7 추가 업데이트
docker와 browser 연계를 위해서는 아래의
Tool을 설치
Docker 설치
docker 다운로드 및 설치
docker설치시 virtualbox도 같이 설치
https://www.docker.com/products/docker-toolbox
windows :docker환경 세팅
윈도우 cmd prompt를 실행 (Docker
Quickstart Terminal 창이 아님)
아래의 명령어를 입력한다.
FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd vdocker') DO %i
docker : 터미널 구동
docker 를 실행하기 Docker Quickstart
Terminal 실행
docker version 확인하기
docker 를 실행하기 Docker Quickstart
Terminal 실행
docker ubuntu bash 설치
docker 를 실행하기 Docker Quickstart
Terminal 실행
DOCKER 처리
(컨테이너)
Docker machine 확인
docker-machine : 서버 확인
현재 Docker 클라이언트에 연결된 서버 확인
$ docker-machine active
Docker 호스트 서버 정보 확인
$ docker-machine env 서버명(default)
docker-machine : 서버 ip 확인
현재 Docker 서버 ip 확인
$ docker-machine ip 서버명
docker-machine : 시작과 중단
$ docker-machine stop 서버명
$ docker-machine start 서버명
docker : vdocker 만들기
docker-machien에 vdocker 만들기
$ docker-machine create vdocker -d virtualbox
docker-machien 확인 방법
docker-machine을 확인하고 vdocker를 실행
docker-machien : error 처리
docker-machine을 확인하고 vdocker가 error
일 경우 rm 명령으로 삭제 후 재생성 필요
DOCKER 처리
(이미지)
Docker 확인
docker info 확인하기
docker 를 실행하기 Docker Quickstart
Terminal 실행
새로운 이미지 세팅
docker 이미지 세팅
Docker Quickstart Terminal 창에서
아래의 명령어를 입력한다.
docker run -it b.gcr.io/tensorflow/tensorflow:latest-devel
tensorflow의 설치가 완료되면 자동으로 리눅스 터미
널 창으로 넘어간다.
docker 이미지 세팅 예시
docker terminal에서 아래의 명령을 실행하면
tensorflow 컨테이너(이미지)가 생성
docker run -p 8888:8888 -p 6006:6006 -it b.gcr.io/tensorflow/tensorflow
docker에서 8888(jupyter notebook), 6006(tensorboard)에 대해 구동
docker 이미지 이름 정의
docker terminal에서 아래의 명령을 실행
docker run –name tensorflow -p 8888:8888 -p 6006:6006 -it
b.gcr.io/tensorflow/tensorflow:latest-devel /run_jupyter.sh
Docker file 공유 : docker run -it –name tensorflow -p 8888:8888 -p
6006:6006 –v /root/shared:/root/shared(공유파일디렉토리)
b.gcr.io/tensorflow/tensorflow:latest-devel /run_jupyter.sh
도커 시작 : docker start –ia tf (이미지명
도커 종료 : docker stop tf(이미지명)
도커 실행된 상태에서 shell로 접근 : docker exec –it tf /bin/bash(실행된 상태
에서 shell로 접근)
기존 이미지 처리
docker 이미지 stop
docker terminal에서 아래의 명령을 실행
docker stop 컨테이너(이미지)명
docker 이미지 start
docker terminal에서 아래의 명령을 실행
docker start –ia 컨테이너(이미지)명
docker 이미지 확인
docker terminal에서 아래의 명령을 실행
(docker images)
docker 이미지 삭제
docker terminal에서 아래의 명령을 실행
(docker rmi 이미지id)
Jupyter notebook
jupyter notebook 실행
http://192.168.99.100:8888/ 을 웹브라우
저에 입력하면 실행됨
tensorboard
docker에서 Tensorboard 실행
docker에서 설치된 것을 조회하고 실행
docker에서 Tensorboard 실행
http://192.168.99.100:6006/ 을 웹브라우저
에 입력하면 실행됨
log 파일 write 실행
로그 파일에 write
docker에서 Tensorboard 실행
http://192.168.99.100:6006/ 로그파일 실행
해서 graph 확인
TENSORFLOW
GRAPH CLASS 이해하기
Moon Yong Joon
tf.Graph
graph
Graph는 operation들과 Tensor들의 집합
Operation
Tensor
represent units of computation
represent the units of data that
flow between operations.
tensorflow 생성
Graph를 확인하기 위해 텐서플로우 간단한 로직
생성
tensorboard의 graph
텐서보드 내의 그래프를 확인(예시)
tensorboard의 graph symbol
텐서보드 내의 symbol
tensorflow graph 객체
텐서플로우에서 graph를 직접 접근해서 node들
이 생성된 것을 볼 수 있음
tensorboard 확인: input
텐서보드 내의 그래프 내의 input node를
tensorflow 내의 객체 조회
tensorboard 확인: weight
텐서보드 내의 weight를 확대해서 내부 구성된
node들을 확인
tensorboard 확인: output
텐서보드 내의output node와 tensorflow 내의
저장된 것을 상호 비교
Tensorflow : graph op name
graph = tf.get_default_graph() 정의 후에
operation node 명 조회
Node 이해하기
graph node 확인하기(순차)
Tf.get_default_graph() 를 실행한 후에
get_operations()으로 실제 op node를 생성 후 조회
graph node 확인하기(순환)
순환하면서 조회하기
graph node 확인하기(역순)
뒤에서 부터 graph 값을 조회
graph node 확인하기(파라미터)
Op 내부에 inputs을 확인하기
할당 변수 확인하기
Tf.constant()로 할당한 변수를 확인하면 하나의
tensor 객체로 지정되어 있고 session에서 실행
해야 결과값을 볼 수 있음
Tensorboard 로그 확인
텐서보드용 로그 파일 확인
텐서보드를 위한 로그 파일 생성된 곳을 확인
tensorflow 실행
텐서플로우 내의 그래프를 확인을 위해
tf.train.SummaryWriter를 이용해서 처리
TENSORFLOW
&
TENSORBOARD
이해하기
Moon Yong Joon
Tensorboard 처리 예시
Tensorboard 처리 순서
아래의 참고문서를 보고 처리한 결과
참고문서 : http://goodtogreate.tistory.com/entry/Tensor-Board
1. From TF graph, decide which node you want to annotate
- tf.name_scope()
- tf.histogram(), tf.scalar_summary ()
2. Merge all summaries
- merged = tf.merge_all_summaries()
3. Create Writer
- writer = tf.train.SimmaryWriter(“log-file”, sess.graph_def)
4. Run summary merge and add_summary
- summary = sess.run(merged,…), writer.add_summary(summary)
5. Launch Tesorboard
- tensorboard --logdir=“log-file”
6. Start browser
- http://192.168.99.100:6006/
입력 파일 지정
Grape에서 name scope 노드를 만듦
변수 및 저장소 정의
Grape에서 name scope 노드를 만듦
name_scope
Grape에서 name scope 노드를 만듦
tf.scalar_summary
tf.scalar_summary(tags, values,
collections=None, name=None)
histogram_summary
 tf.histogram_summary(tag, values,
collections=None, name=None)
merge_all_summaries
tf.merge_all_summaries(key='summaries')
train.SummaryWriter
tf.train.SummaryWriter(logdir, graph=None,
max_queue=10, flush_secs=120,
graph_def=None)
log file 확인 방법
로그 파일이 제대로 되었는지 확인
tensorboard: evnet
Tensorboard 내의 event조회
tensorboard: graphs
Tensorboard 내의 graphs 조회
tensorboard: histograms
Tensorboard 내의 histograms 조회

Mais conteúdo relacionado

Mais procurados

Windws via c/c++ chapter 6
Windws via c/c++ chapter 6Windws via c/c++ chapter 6
Windws via c/c++ chapter 6
SukYun Yoon
 
사례를 통해 살펴보는 프로파일링과 최적화 NDC2013
사례를 통해 살펴보는 프로파일링과 최적화 NDC2013사례를 통해 살펴보는 프로파일링과 최적화 NDC2013
사례를 통해 살펴보는 프로파일링과 최적화 NDC2013
Esun Kim
 
[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스
종빈 오
 

Mais procurados (20)

[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
[KGC 2012]Boost.asio를 이용한 네트웍 프로그래밍
 
Swift3 generic
Swift3 genericSwift3 generic
Swift3 generic
 
헷갈리는 자바스크립트 정리
헷갈리는 자바스크립트 정리헷갈리는 자바스크립트 정리
헷갈리는 자바스크립트 정리
 
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
[NDC2015] C++11 고급 기능 - Crow에 사용된 기법 중심으로
 
Boost
BoostBoost
Boost
 
파이썬+함수이해하기 20160229
파이썬+함수이해하기 20160229파이썬+함수이해하기 20160229
파이썬+함수이해하기 20160229
 
일단 시작하는 코틀린
일단 시작하는 코틀린일단 시작하는 코틀린
일단 시작하는 코틀린
 
Startup JavaScript 6 - 함수, 스코프, 클로저
Startup JavaScript 6 - 함수, 스코프, 클로저Startup JavaScript 6 - 함수, 스코프, 클로저
Startup JavaScript 6 - 함수, 스코프, 클로저
 
파이선 실전공략-1
파이선 실전공략-1파이선 실전공략-1
파이선 실전공략-1
 
Windws via c/c++ chapter 6
Windws via c/c++ chapter 6Windws via c/c++ chapter 6
Windws via c/c++ chapter 6
 
Ji 개발 리뷰 (신림프로그래머)
Ji 개발 리뷰 (신림프로그래머)Ji 개발 리뷰 (신림프로그래머)
Ji 개발 리뷰 (신림프로그래머)
 
Swift3 typecasting nested_type
Swift3 typecasting nested_typeSwift3 typecasting nested_type
Swift3 typecasting nested_type
 
사례를 통해 살펴보는 프로파일링과 최적화 NDC2013
사례를 통해 살펴보는 프로파일링과 최적화 NDC2013사례를 통해 살펴보는 프로파일링과 최적화 NDC2013
사례를 통해 살펴보는 프로파일링과 최적화 NDC2013
 
20150212 c++11 features used in crow
20150212 c++11 features used in crow20150212 c++11 features used in crow
20150212 c++11 features used in crow
 
골때리는 자바스크립트 발표자료
골때리는 자바스크립트 발표자료골때리는 자바스크립트 발표자료
골때리는 자바스크립트 발표자료
 
[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스[Windows via c/c++] 4장 프로세스
[Windows via c/c++] 4장 프로세스
 
제프리 리처의 Windows via C/C++ : 8장 유저 모드에서의 스레드 동기화
제프리 리처의 Windows via C/C++ : 8장 유저 모드에서의 스레드 동기화제프리 리처의 Windows via C/C++ : 8장 유저 모드에서의 스레드 동기화
제프리 리처의 Windows via C/C++ : 8장 유저 모드에서의 스레드 동기화
 
[Swift] Protocol (2/2)
[Swift] Protocol (2/2)[Swift] Protocol (2/2)
[Swift] Protocol (2/2)
 
windows via c++ Ch 5. Job
windows via c++ Ch 5. Jobwindows via c++ Ch 5. Job
windows via c++ Ch 5. Job
 
Boost라이브러리의내부구조 20151111 서진택
Boost라이브러리의내부구조 20151111 서진택Boost라이브러리의내부구조 20151111 서진택
Boost라이브러리의내부구조 20151111 서진택
 

Destaque

파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기
Yong Joon Moon
 

Destaque (20)

텐서플로우 기초 이해하기
텐서플로우 기초 이해하기 텐서플로우 기초 이해하기
텐서플로우 기초 이해하기
 
Jupyter notebook 이해하기
Jupyter notebook 이해하기 Jupyter notebook 이해하기
Jupyter notebook 이해하기
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
 
Python 이해하기 20160815
Python 이해하기 20160815Python 이해하기 20160815
Python 이해하기 20160815
 
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
 
텐서플로 걸음마 (TensorFlow Tutorial)
텐서플로 걸음마 (TensorFlow Tutorial)텐서플로 걸음마 (TensorFlow Tutorial)
텐서플로 걸음마 (TensorFlow Tutorial)
 
20150306 파이썬기초 IPython을이용한프로그래밍_이태영
20150306 파이썬기초 IPython을이용한프로그래밍_이태영20150306 파이썬기초 IPython을이용한프로그래밍_이태영
20150306 파이썬기초 IPython을이용한프로그래밍_이태영
 
Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815
 
파이썬 크롤링 모듈
파이썬 크롤링 모듈파이썬 크롤링 모듈
파이썬 크롤링 모듈
 
파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기파이썬 반복자 생성자 이해하기
파이썬 반복자 생성자 이해하기
 
Tensorflow internal
Tensorflow internalTensorflow internal
Tensorflow internal
 
python 수학이해하기
python 수학이해하기python 수학이해하기
python 수학이해하기
 
파이썬 엑셀_csv 처리하기
파이썬 엑셀_csv 처리하기파이썬 엑셀_csv 처리하기
파이썬 엑셀_csv 처리하기
 
Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석Python 활용: 이미지 처리와 데이터 분석
Python 활용: 이미지 처리와 데이터 분석
 
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
 
Tensor board
Tensor boardTensor board
Tensor board
 
파이썬 Xml 이해하기
파이썬 Xml 이해하기파이썬 Xml 이해하기
파이썬 Xml 이해하기
 
영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출영상 데이터의 처리와 정보의 추출
영상 데이터의 처리와 정보의 추출
 

Semelhante a Jupyter notebok tensorboard 실행하기_20160706

Semelhante a Jupyter notebok tensorboard 실행하기_20160706 (20)

Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법Docker란 무엇인가? : Docker 기본 사용법
Docker란 무엇인가? : Docker 기본 사용법
 
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
[오픈소스컨설팅]Docker기초 실습 교육 20181113_v3
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
 
Docker 사내교육 자료
Docker 사내교육 자료Docker 사내교육 자료
Docker 사내교육 자료
 
랩탑으로 tensorflow 도전하기 - tensorflow 설치
랩탑으로 tensorflow 도전하기 - tensorflow 설치랩탑으로 tensorflow 도전하기 - tensorflow 설치
랩탑으로 tensorflow 도전하기 - tensorflow 설치
 
Introduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOTIntroduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOT
 
Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기
 
Deploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptxDeploying Hyperledger Fabric on Kubernetes.pptx
Deploying Hyperledger Fabric on Kubernetes.pptx
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 DockerXECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
XECon2015 :: [1-5] 김훈민 - 서버 운영자가 꼭 알아야 할 Docker
 
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
[오픈소스컨설팅]Docker on Cloud(Digital Ocean)
 
Introduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOTIntroduction to Docker - LOGISPOT
Introduction to Docker - LOGISPOT
 
도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편도커없이 컨테이너 만들기 1편
도커없이 컨테이너 만들기 1편
 
[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1[오픈소스컨설팅]Docker on Kubernetes v1
[오픈소스컨설팅]Docker on Kubernetes v1
 
docker_quick_start
docker_quick_startdocker_quick_start
docker_quick_start
 
K8s in action02
K8s in action02K8s in action02
K8s in action02
 
하이퍼레저 패브릭 실습자료
하이퍼레저 패브릭 실습자료하이퍼레저 패브릭 실습자료
하이퍼레저 패브릭 실습자료
 
Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1Docker 사용가이드 public v0.1
Docker 사용가이드 public v0.1
 
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Clouddocker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
docker on GCE ( JIRA & Confluence ) - GDG Korea Cloud
 
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOSConfd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
Confd, systemd, fleet을 이용한 어플리케이션 배포 in CoreOS
 

Mais de Yong Joon Moon

파이썬 프로퍼티 디스크립터 이해하기
파이썬 프로퍼티 디스크립터 이해하기파이썬 프로퍼티 디스크립터 이해하기
파이썬 프로퍼티 디스크립터 이해하기
Yong Joon Moon
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기
Yong Joon Moon
 
파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법
Yong Joon Moon
 

Mais de Yong Joon Moon (20)

rust ownership
rust ownership rust ownership
rust ownership
 
Scala namespace scope
Scala namespace scopeScala namespace scope
Scala namespace scope
 
Scala companion object
Scala companion objectScala companion object
Scala companion object
 
Scala block expression
Scala block expressionScala block expression
Scala block expression
 
Scala self type inheritance
Scala self type inheritanceScala self type inheritance
Scala self type inheritance
 
Scala variable
Scala variableScala variable
Scala variable
 
Scala type class pattern
Scala type class patternScala type class pattern
Scala type class pattern
 
Scala match pattern
Scala match patternScala match pattern
Scala match pattern
 
Scala implicit
Scala implicitScala implicit
Scala implicit
 
Scala type args
Scala type argsScala type args
Scala type args
 
Scala trait usage
Scala trait usageScala trait usage
Scala trait usage
 
Scala nested function generic function
Scala nested function generic functionScala nested function generic function
Scala nested function generic function
 
Scala dir processing
Scala dir processingScala dir processing
Scala dir processing
 
Scala syntax function
Scala syntax functionScala syntax function
Scala syntax function
 
스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding스칼라 클래스 이해하기 _Scala class understanding
스칼라 클래스 이해하기 _Scala class understanding
 
파이썬 프로퍼티 디스크립터 이해하기
파이썬 프로퍼티 디스크립터 이해하기파이썬 프로퍼티 디스크립터 이해하기
파이썬 프로퍼티 디스크립터 이해하기
 
파이썬 문자열 이해하기
파이썬 문자열 이해하기파이썬 문자열 이해하기
파이썬 문자열 이해하기
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기
 
파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법파이썬 내부 데이터 검색 방법
파이썬 내부 데이터 검색 방법
 
파이썬 class 및 function namespace 이해하기
파이썬 class 및 function namespace 이해하기파이썬 class 및 function namespace 이해하기
파이썬 class 및 function namespace 이해하기
 

Jupyter notebok tensorboard 실행하기_20160706