SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Docker 환경에서
TensorFlow를 설치하고
응용하기
Byungwook Ahn
2016/06
Tensorflow-kr at Google Seoul office
Experienced
Device driver(windows, linux)
Media streaming
CDN
Docker
PyCon Korea 2015 Speaker
PyCon Hongkong 2015 Speaker
3
Agenda
• TensorFlow + GPU
• TensorFlow Distributed Environment
• Docker, Google Cloud Platform, AWS..
• Docker, Docker-compose…
• Demo
4
TensorFlow + GPU
TPU
Pip install
Virtualenv install
Anaconda install
Docker install
Installing from sources
6
// Cool~
$ docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow
// GPU?
$ path/to/repo/tensorflow/tools/docker/docker_run_gpu.sh
gcr.io/tensorflow/tensorflow:gpu
Different way to install TensorFlow
https://github.com/tensorflow/tensorflow,
Branch:master,0.80,0.90rc (Binary download)
• Linux CPU only: Python 2 (build history) / Python
3.4 (build history) / Python 3.5 (build history)
• Linux GPU: Python 2 (build history) / Python 3.4
(build history) / Python 3.5 (build history)
• Mac CPU only: Python 2 (build history) / Python 3
(build history)
• Android (build history)
7
// 2) install & setup for gcc and clang package
$ xcode-select --install
$ vi .zshrc
##########
# CUDA
export PATH=/Developer/NVIDIA/CUDA-7.5/bin:$PATH
export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:$DYLD_LIBRARY_PATH
$ kextstat | grep -i cuda
196 0 0xffffff7f82df8000 0x2000 0x2000 com.nvidia.CUDA (1.1.0) 5AFE550D-6361-3897-912D-897C13FF6983 <4 1>
// nvcc compiler
$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Mon_Apr_11_13:23:40_CDT_2016
Cuda compilation tools, release 7.5, V7.5.26
$ cd /Developer/NVIDIA/CUDA-7.5/samples/
$ sudo make -C 0_Simple/vectorAdd
$ sudo make -C 0_Simple/vectorAddDrv
$ sudo make -C 1_Utilities/deviceQuery
$ sudo make -C 1_Utilities/bandwidthTest
$ cd bin/x86_64/darwin/release
$ ./deviceQuery
./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL
$ ./bandwidthTest
CUDA Bandwidth Test] - Starting...
Running on...
cudaGetDeviceProperties returned 35
-> CUDA driver version is insufficient for CUDA runtime version
CUDA error at bandwidthTest.cu:255 code=35(cudaErrorInsufficientDriver) "cudaSetDevice(currentDevice) 8
1) download & install
GPU support : CUDA
https://developer.nvidia.com/cuda-downloads
This Mac
OS X El Capitan
Version 10.11.4
MacBook Pro ( Retina, 15-inch, Mid 2015)
Processor 2.2 GHz Intel Core i7
Memory 16GB 1600 MHz DDR3
Graphics Intel Iris Pro 1536 MB
9
GPU : “Open” issues
blog article :
CUDA+Tensorflow+Docker : https://goo.gl/dlXK2n
10
Host MacBook Host PM2
Demo for today…
My Experienced :
FullSeg Player(MPEG-2) + GPU
Media Player + H.264 + GPU
=> Docker+GPU+Tensorflow ???
11
Host MacBook
Demo for today…
TensorFlow Distributed Environment
: Basic
13
gRPC
14
Hello distributed TensorFlow
# Start a TensorFlow server
# as a single-process "cluster".
$ python
>>> import tensorflow as tf
>>> c = tf.constant("Hello, distributed TensorFlow!")
>>> server = tf.train.Server.create_local_server()
Initialize HostPortsGrpcChannelCache for job local -> {localhost:55642}
Started server with target: grpc://localhost:55642
>>> sess = tf.Session(server.target) # Create a session on the server.
>>> sess.run(c)
'Hello, distributed TensorFlow!'
15
creates a single-process
cluster, with an in-process
server.
class tf.train.Server
“ for use in distributed training.”
Create a cluster
16
cluster
a set of "tasks" that participate
in the distributed execution
task : worker0 TensorFlow server
…
Create a tf.train.Server instance in each task
17
Server(cluster, job_name, task_index)
cluster:a set of "tasks" that participate in the
distributed execution
cluster -> 1,000 server ?
Specifying distributed devices in your model
18
tf.device() function that is used to
specify whether ops run on the
CPU or GPU.
TensorFlow will insert the appropriate data
transfers between the jobs(ps->worker,
worker->ps)
Docker,
Google Cloud Platform,
AWS ..
20
GPU
Distributed Env.
Docker
Google Cloud
AWS
Azure
Native PM
TensorFlow
Distributed Env.
Docker
Google Cloud
AWS
Azure
Native PM
Distributed Env.
Docker
$$$
GPU
$$$
AWS
Google Cloud
Azure
Native PM(+TPU)
21
Tensorboard-server
(192.168.99.101:6006)
tensorflow-worker :
master-0
tensorflow-worker :
work-0
tensorflow-worker :
work-1
tensorflow-worker :
work-14
tensorflow-worker :
ps-0
tensorflow-worker :
ps-1
gRPC:8080
gRPC:8080
gRPC:8080
gRPC:8080 gRPC:8080 gRPC:8080
Jupyter-server
(192.168.99.101:8888)http://104.155.200.100/text1.zip
weavescope
192.168.99.101:404
Docker, Docker-compose…
Demo code :
https://github.com/bwahn/tensorflow-kr-docker
23
Jupyter-server
tensorflow-worker : ( ps-0/1/2, worker-0/1/.., master-0)
compose file for Demo
github:
tf-worker
24
FROM gcr.io/tensorflow/tensorflow:latest-devel
ADD worker.py worker.py
CMD ["python", "worker.py"]
import tensorflow as tf
import os
import logging
import sys
import ast
root = logging.getLogger()
root.setLevel(logging.INFO)
ch = logging.StreamHandler(sys.stdout)
root.addHandler(ch)
POD_NAME = os.environ.get('POD_NAME')
logging.info(POD_NAME)
def main(job_name, task_id):
server = tf.train.Server(
{
"ps": [
"ps-0:8080",
"ps-1:8080",
"ps-2:8080",
"ps-3:8080",
],
"worker": [
"worker-0:8080",
"worker-1:8080",
"worker-2:8080",
"worker-3:8080",
"worker-4:8080",
"worker-5:8080",
"worker-6:8080",
"worker-7:8080",
],
"master": [
"master-0:8080",
],
},
job_name=job_name,
task_index=task_id
)
server.join()
if __name__ == '__main__':
this_job_name, this_task_id = POD_NAME.split('-', 2)
main(this_job_name, int(this_task_id))
role defined
25
version: '2'
services:
####
ps-0:
build: ./tf-worker/
container_name: ps-0
image: ps-0:0.1
ports:
- "8080"
environment:
POD_NAME: ps-0
….
ps-0 ( docker-compose.yaml )
$ docker-compose -f docker-compose.yaml build ps-0
Building ps-0
Step 1 : FROM gcr.io/tensorflow/tensorflow:latest-devel
---> c3efccc5f94f
Step 2 : ADD worker.py worker.py
---> Using cache
---> f9c2d840b051
Step 3 : CMD python worker.py
---> Using cache
---> 57a6c024580c
Successfully built 57a6c024580c
$ docker images | grep ps -0
REPOSITORY TAG IMAGE ID CREATED SIZE
ps-0 0.1 57a6c024580c 2 days ago 2.38 GB
gRPC port
POD_NAME env in worker.py
26
//docker-compose.yaml
version: '2'
services:
####
ps-0:
build: ./tf-worker/
container_name: ps-0
image: ps-0:0.1
ports:
- "8080"
environment:
POD_NAME: ps-0
ps-1:
build: ./tf-worker/
container_name: ps-1
image: ps-1:0.1
ports:
- "8080"
environment:
POD_NAME: ps-1
ps-2:
build: ./tf-worker/
container_name: ps-2
image: ps-2:0.1
ports:
- "8080"
environment:
POD_NAME: ps-2
ps-3:
build: ./tf-worker/
container_name: ps-3
image: ps-3:0.1
ports:
- "8080"
environment:
POD_NAME: ps-3
####
worker-0:
build: ./tf-worker/
container_name: worker-0
image: worker-0:0.1
ports:
- "8080"
environment:
POD_NAME: worker-0
worker-1:
build: ./tf-worker/
container_name: worker-1
image: worker-1:0.1
ports:
- "8080"
environment:
POD_NAME: worker-1
worker-2:
build: ./tf-worker/
container_name: worker-2
image: worker-2:0.1
ports:
- "8080"
environment:
POD_NAME: worker-2
worker-3:
build: ./tf-worker/
container_name: worker-3
image: worker-3:0.1
ports:
- "8080"
environment:
POD_NAME: worker-3
worker-4:
build: ./tf-worker/
container_name: worker-4
image: worker-4:0.1
ports:
- "8080"
environment:
POD_NAME: worker-4
worker-5:
build: ./tf-worker/
container_name: worker-5
image: worker-5:0.1
ports:
- "8080"
environment:
POD_NAME: worker-5
worker-6:
build: ./tf-worker/
container_name: worker-6
image: worker-6:0.1
ports:
- "8080"
environment:
POD_NAME: worker-6
worker-7:
build: ./tf-worker/
container_name: worker-7
image: worker-7:0.1
ports:
- "8080"
environment:
POD_NAME: worker-7
####
master-0:
build: ./tf-worker/
container_name: master-0
image: master-0:0.1
ports:
- "8080"
environment:
POD_NAME: master-0
27
Jupyter-server
tensorflow-worker : ( ps-0/1/2, worker-0/1/.., master-0)
compose file for Demo
github:
28
tf-jupyter
// TensorFlow github
$ git clone https://github.com/tensorflow/tensorflow.git
$ cd /tensorflow-git/tensorflow/tools/docker
from tensorflow-workshop
29
$ docker-compose -f docker-compose.yaml build jupyter-server
Building jupyter-server
Step 1 : FROM ubuntu:14.04
---> 8f1bd21bd25c
Step 2 : MAINTAINER Craig Citro <craigcitro@google.com>
---> Using cache
---> c87f53e1cfc9
Step 3 : RUN apt-get update && apt-get install -y curl libfreetype6-dev libpng12-dev libzmq3-dev pkg-config python-numpy python-pip
python-scipy && apt-get clean && rm -rf /var/lib/apt/lists/*
---> Using cache
---> a5abc6a5ed5a
Step 4 : RUN curl -O https://bootstrap.pypa.io/get-pip.py && python get-pip.py && rm get-pip.py
---> Using cache
---> 39df3de28486
Step 5 : RUN pip --no-cache-dir install ipykernel jupyter matplotlib && python -m ipykernel.kernelspec
---> Using cache
---> ce0e0004e0a6
Step 6 : ENV TENSORFLOW_VERSION 0.8.0
---> Using cache
---> 80791608c082
Step 7 : RUN pip --no-cache-dir install http://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-${TENSORFLOW_VERSION}-cp27-none-linux_x86_64.whl
---> Using cache
---> 980ebdfed88c
Step 8 : COPY jupyter_notebook_config.py /root/.jupyter/
---> Using cache
---> 2e2aa264d165
Step 9 : COPY notebooks /notebooks
---> Using cache
---> 3b6409cc98a9
Step 10 : COPY run_jupyter.sh /
---> Using cache
---> b6cfb46577ed
Step 11 : EXPOSE 6006
---> Using cache
---> e4010cf837c6
Step 12 : EXPOSE 8888
---> Using cache
---> 0266ba056034
Step 13 : WORKDIR "/notebooks"
---> Using cache
---> 48983eb7b7af
Step 14 : CMD /run_jupyter.sh
---> Using cache
---> 364efc0d61ce
Successfully built 364efc0d61ce
$ docker images | grep tf-jupyter-server
REPOSITORY TAG IMAGE ID CREATED SIZE
tf-jupyter-server 0.1 364efc0d61ce 4 days ago 722 MB
//docker-compose.yaml
…
jupyter-server:
build:
context: ./tf-jupyter/
container_name: tf-jupyter-server
image: tf-jupyter-server:0.1
ports:
- "8888:8888"
- "80:80"
volumes:
- /tmp/tf/tensorflow-logs:/var/log/tensorflow
30
Tensorboard-server
(192.168.99.101:6006)
tensorflow-worker :
master-0
tensorflow-worker :
work-0
tensorflow-worker :
work-1
tensorflow-worker :
work-14
tensorflow-worker :
ps-0
tensorflow-worker :
ps-1
gRPC:8080
gRPC:8080
gRPC:8080
gRPC:8080 gRPC:8080 gRPC:8080
Jupyter-server
(192.168.99.101:8888)http://104.155.200.100/text1.zip
31
//docker-compose.yaml
…
tf-tensorboard-server:
image: gcr.io/tensorflow/tensorflow:latest-devel
container_name: tf-tensorboard-server
ports:
- "6006:6006"
command: /tensorflow/bazel-bin/tensorflow/tensorboard/tensorboard --logdir=/var/log/tensorflow
volumes:
- /tmp/tf/tensorflow-logs:/var/log/tensorflow
Tensorboard-server
Demo
33
Summary
- Tensorflow Distributed Environment ( with Docker )
Future
- Native Clustering (several hosts ): Docker Swarm, RancherOS
- Docker + GPU Architecture & Test Environment
Q&A

Weitere ähnliche Inhalte

Was ist angesagt?

CoreOS + Kubernetes @ All Things Open 2015
CoreOS + Kubernetes @ All Things Open 2015CoreOS + Kubernetes @ All Things Open 2015
CoreOS + Kubernetes @ All Things Open 2015Brandon Philips
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioHajime Tazaki
 
CoreOSによるDockerコンテナのクラスタリング
CoreOSによるDockerコンテナのクラスタリングCoreOSによるDockerコンテナのクラスタリング
CoreOSによるDockerコンテナのクラスタリングYuji ODA
 
Kernelvm 201312-dlmopen
Kernelvm 201312-dlmopenKernelvm 201312-dlmopen
Kernelvm 201312-dlmopenHajime Tazaki
 
Node Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In ProductionNode Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In ProductionYunong Xiao
 
Debugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDBDebugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDBbmbouter
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsSander van der Burg
 
Tensorflow internal
Tensorflow internalTensorflow internal
Tensorflow internalHyunghun Cho
 
OpenCL Programming 101
OpenCL Programming 101OpenCL Programming 101
OpenCL Programming 101Yoss Cohen
 
Build a Complex, Realtime Data Management App with Postgres 14!
Build a Complex, Realtime Data Management App with Postgres 14!Build a Complex, Realtime Data Management App with Postgres 14!
Build a Complex, Realtime Data Management App with Postgres 14!Jonathan Katz
 
LISA18: Hidden Linux Metrics with Prometheus eBPF Exporter
LISA18: Hidden Linux Metrics with Prometheus eBPF ExporterLISA18: Hidden Linux Metrics with Prometheus eBPF Exporter
LISA18: Hidden Linux Metrics with Prometheus eBPF ExporterIvan Babrou
 
Direct Code Execution @ CoNEXT 2013
Direct Code Execution @ CoNEXT 2013Direct Code Execution @ CoNEXT 2013
Direct Code Execution @ CoNEXT 2013Hajime Tazaki
 
Software Packaging for Cross OS Distribution
Software Packaging for Cross OS DistributionSoftware Packaging for Cross OS Distribution
Software Packaging for Cross OS DistributionJian-Hong Pan
 
Advanced Spark and TensorFlow Meetup May 26, 2016
Advanced Spark and TensorFlow Meetup May 26, 2016Advanced Spark and TensorFlow Meetup May 26, 2016
Advanced Spark and TensorFlow Meetup May 26, 2016Chris Fregly
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedAnne Nicolas
 
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPFA Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPFoholiab
 
HOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHenry Schreiner
 
LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1Hajime Tazaki
 
CoreOS in a Nutshell
CoreOS in a NutshellCoreOS in a Nutshell
CoreOS in a NutshellCoreOS
 

Was ist angesagt? (20)

CoreOS + Kubernetes @ All Things Open 2015
CoreOS + Kubernetes @ All Things Open 2015CoreOS + Kubernetes @ All Things Open 2015
CoreOS + Kubernetes @ All Things Open 2015
 
NUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osioNUSE (Network Stack in Userspace) at #osio
NUSE (Network Stack in Userspace) at #osio
 
CoreOSによるDockerコンテナのクラスタリング
CoreOSによるDockerコンテナのクラスタリングCoreOSによるDockerコンテナのクラスタリング
CoreOSによるDockerコンテナのクラスタリング
 
Kernelvm 201312-dlmopen
Kernelvm 201312-dlmopenKernelvm 201312-dlmopen
Kernelvm 201312-dlmopen
 
Node Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In ProductionNode Interactive Debugging Node.js In Production
Node Interactive Debugging Node.js In Production
 
Debugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDBDebugging Hung Python Processes With GDB
Debugging Hung Python Processes With GDB
 
Using Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutionsUsing Nix and Docker as automated deployment solutions
Using Nix and Docker as automated deployment solutions
 
Tensorflow internal
Tensorflow internalTensorflow internal
Tensorflow internal
 
OpenCL Programming 101
OpenCL Programming 101OpenCL Programming 101
OpenCL Programming 101
 
Build a Complex, Realtime Data Management App with Postgres 14!
Build a Complex, Realtime Data Management App with Postgres 14!Build a Complex, Realtime Data Management App with Postgres 14!
Build a Complex, Realtime Data Management App with Postgres 14!
 
LISA18: Hidden Linux Metrics with Prometheus eBPF Exporter
LISA18: Hidden Linux Metrics with Prometheus eBPF ExporterLISA18: Hidden Linux Metrics with Prometheus eBPF Exporter
LISA18: Hidden Linux Metrics with Prometheus eBPF Exporter
 
Direct Code Execution @ CoNEXT 2013
Direct Code Execution @ CoNEXT 2013Direct Code Execution @ CoNEXT 2013
Direct Code Execution @ CoNEXT 2013
 
Cloud RPI4 tomcat ARM64
Cloud RPI4 tomcat ARM64Cloud RPI4 tomcat ARM64
Cloud RPI4 tomcat ARM64
 
Software Packaging for Cross OS Distribution
Software Packaging for Cross OS DistributionSoftware Packaging for Cross OS Distribution
Software Packaging for Cross OS Distribution
 
Advanced Spark and TensorFlow Meetup May 26, 2016
Advanced Spark and TensorFlow Meetup May 26, 2016Advanced Spark and TensorFlow Meetup May 26, 2016
Advanced Spark and TensorFlow Meetup May 26, 2016
 
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all startedKernel Recipes 2019 - ftrace: Where modifying a running kernel all started
Kernel Recipes 2019 - ftrace: Where modifying a running kernel all started
 
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPFA Kernel of Truth: Intrusion Detection and Attestation with eBPF
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
 
HOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutes
 
LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1LibOS as a regression test framework for Linux networking #netdev1.1
LibOS as a regression test framework for Linux networking #netdev1.1
 
CoreOS in a Nutshell
CoreOS in a NutshellCoreOS in a Nutshell
CoreOS in a Nutshell
 

Andere mochten auch

Scalable TensorFlow Deep Learning as a Service with Docker, OpenPOWER, and GPUs
Scalable TensorFlow Deep Learning as a Service with Docker, OpenPOWER, and GPUsScalable TensorFlow Deep Learning as a Service with Docker, OpenPOWER, and GPUs
Scalable TensorFlow Deep Learning as a Service with Docker, OpenPOWER, and GPUsIndrajit Poddar
 
Introduction to TensorFlow
Introduction to TensorFlowIntroduction to TensorFlow
Introduction to TensorFlowMatthias Feys
 
Using Docker for GPU Accelerated Applications
Using Docker for GPU Accelerated ApplicationsUsing Docker for GPU Accelerated Applications
Using Docker for GPU Accelerated ApplicationsNVIDIA
 
Deploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesDeploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesPetteriTeikariPhD
 
Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Jen Aman
 
Machine learning and TensorFlow
Machine learning and TensorFlowMachine learning and TensorFlow
Machine learning and TensorFlowJose Papo, MSc
 
Neural Networks with Google TensorFlow
Neural Networks with Google TensorFlowNeural Networks with Google TensorFlow
Neural Networks with Google TensorFlowDarshan Patel
 
Introduction to Deep Learning with TensorFlow
Introduction to Deep Learning with TensorFlowIntroduction to Deep Learning with TensorFlow
Introduction to Deep Learning with TensorFlowTerry Taewoong Um
 
TensorFrames: Google Tensorflow on Apache Spark
TensorFrames: Google Tensorflow on Apache SparkTensorFrames: Google Tensorflow on Apache Spark
TensorFrames: Google Tensorflow on Apache SparkDatabricks
 
Distributed Multi-device Execution of TensorFlow – an Outlook
Distributed Multi-device Execution of TensorFlow – an OutlookDistributed Multi-device Execution of TensorFlow – an Outlook
Distributed Multi-device Execution of TensorFlow – an OutlookSebnem Rusitschka
 
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)DynamicInfraDays
 
Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-pythonEric Ahn
 
High perforance-browse-networking-2015-bwahn
High perforance-browse-networking-2015-bwahnHigh perforance-browse-networking-2015-bwahn
High perforance-browse-networking-2015-bwahnEric Ahn
 
Http capturing
Http capturingHttp capturing
Http capturingEric Ahn
 
Docker command
Docker commandDocker command
Docker commandEric Ahn
 
Cdn gslb-20151209
Cdn gslb-20151209Cdn gslb-20151209
Cdn gslb-20151209Eric Ahn
 
Be a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the tradeBe a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the tradeNicola Paolucci
 

Andere mochten auch (20)

TensorFlow
TensorFlowTensorFlow
TensorFlow
 
Scalable TensorFlow Deep Learning as a Service with Docker, OpenPOWER, and GPUs
Scalable TensorFlow Deep Learning as a Service with Docker, OpenPOWER, and GPUsScalable TensorFlow Deep Learning as a Service with Docker, OpenPOWER, and GPUs
Scalable TensorFlow Deep Learning as a Service with Docker, OpenPOWER, and GPUs
 
Introduction to TensorFlow
Introduction to TensorFlowIntroduction to TensorFlow
Introduction to TensorFlow
 
TensorFlow
TensorFlowTensorFlow
TensorFlow
 
Google TensorFlow Tutorial
Google TensorFlow TutorialGoogle TensorFlow Tutorial
Google TensorFlow Tutorial
 
Using Docker for GPU Accelerated Applications
Using Docker for GPU Accelerated ApplicationsUsing Docker for GPU Accelerated Applications
Using Docker for GPU Accelerated Applications
 
Deploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesDeploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and Kubernetes
 
Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow Large Scale Deep Learning with TensorFlow
Large Scale Deep Learning with TensorFlow
 
Machine learning and TensorFlow
Machine learning and TensorFlowMachine learning and TensorFlow
Machine learning and TensorFlow
 
Neural Networks with Google TensorFlow
Neural Networks with Google TensorFlowNeural Networks with Google TensorFlow
Neural Networks with Google TensorFlow
 
Introduction to Deep Learning with TensorFlow
Introduction to Deep Learning with TensorFlowIntroduction to Deep Learning with TensorFlow
Introduction to Deep Learning with TensorFlow
 
TensorFrames: Google Tensorflow on Apache Spark
TensorFrames: Google Tensorflow on Apache SparkTensorFrames: Google Tensorflow on Apache Spark
TensorFrames: Google Tensorflow on Apache Spark
 
Distributed Multi-device Execution of TensorFlow – an Outlook
Distributed Multi-device Execution of TensorFlow – an OutlookDistributed Multi-device Execution of TensorFlow – an Outlook
Distributed Multi-device Execution of TensorFlow – an Outlook
 
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)
ContainerDays Boston 2016: "Docker For the Developer" (Borja Burgos)
 
Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-python
 
High perforance-browse-networking-2015-bwahn
High perforance-browse-networking-2015-bwahnHigh perforance-browse-networking-2015-bwahn
High perforance-browse-networking-2015-bwahn
 
Http capturing
Http capturingHttp capturing
Http capturing
 
Docker command
Docker commandDocker command
Docker command
 
Cdn gslb-20151209
Cdn gslb-20151209Cdn gslb-20151209
Cdn gslb-20151209
 
Be a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the tradeBe a happier developer with Docker: Tricks of the trade
Be a happier developer with Docker: Tricks of the trade
 

Ähnlich wie Tensorflow in Docker

Delivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesDelivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesAjeet Singh Raina
 
DCSF 19 Accelerating Docker Containers with NVIDIA GPUs
DCSF 19 Accelerating Docker Containers with NVIDIA GPUsDCSF 19 Accelerating Docker Containers with NVIDIA GPUs
DCSF 19 Accelerating Docker Containers with NVIDIA GPUsDocker, Inc.
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with dockerJohan Janssen
 
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, KyivKubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, KyivAleksey Asiutin
 
Develop QNAP NAS App by Docker
Develop QNAP NAS App by DockerDevelop QNAP NAS App by Docker
Develop QNAP NAS App by DockerTerry Chen
 
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...NLJUG
 
DockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaDockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaŁukasz Piątkowski
 
Best practices for optimizing Red Hat platforms for large scale datacenter de...
Best practices for optimizing Red Hat platforms for large scale datacenter de...Best practices for optimizing Red Hat platforms for large scale datacenter de...
Best practices for optimizing Red Hat platforms for large scale datacenter de...Jeremy Eder
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesJérôme Petazzoni
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - IndroducAl Gifari
 
Quantifying Your World with AI & Docker on the Edge | OSCONF 2020 Jaipur
Quantifying Your World with AI & Docker  on the Edge | OSCONF 2020 JaipurQuantifying Your World with AI & Docker  on the Edge | OSCONF 2020 Jaipur
Quantifying Your World with AI & Docker on the Edge | OSCONF 2020 JaipurAjeet Singh Raina
 
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Bo-Yi Wu
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境謝 宗穎
 
The Fairy Tale of the One Command Build Script
The Fairy Tale of the One Command Build ScriptThe Fairy Tale of the One Command Build Script
The Fairy Tale of the One Command Build ScriptDocker, Inc.
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_trainingvideos
 

Ähnlich wie Tensorflow in Docker (20)

Delivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesDelivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devices
 
DCSF 19 Accelerating Docker Containers with NVIDIA GPUs
DCSF 19 Accelerating Docker Containers with NVIDIA GPUsDCSF 19 Accelerating Docker Containers with NVIDIA GPUs
DCSF 19 Accelerating Docker Containers with NVIDIA GPUs
 
From zero to Docker
From zero to DockerFrom zero to Docker
From zero to Docker
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
 
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, KyivKubernetes Navigation Stories – DevOpsStage 2019, Kyiv
Kubernetes Navigation Stories – DevOpsStage 2019, Kyiv
 
Develop QNAP NAS App by Docker
Develop QNAP NAS App by DockerDevelop QNAP NAS App by Docker
Develop QNAP NAS App by Docker
 
Introducing Docker
Introducing DockerIntroducing Docker
Introducing Docker
 
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
Gebruik dezelfde Docker container voor Java applicaties tijdens ontwikkelen e...
 
The state of the swarm
The state of the swarmThe state of the swarm
The state of the swarm
 
Docker practice
Docker practiceDocker practice
Docker practice
 
DockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaDockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing Aurea
 
Best practices for optimizing Red Hat platforms for large scale datacenter de...
Best practices for optimizing Red Hat platforms for large scale datacenter de...Best practices for optimizing Red Hat platforms for large scale datacenter de...
Best practices for optimizing Red Hat platforms for large scale datacenter de...
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
Lab docker
Lab dockerLab docker
Lab docker
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
 
Quantifying Your World with AI & Docker on the Edge | OSCONF 2020 Jaipur
Quantifying Your World with AI & Docker  on the Edge | OSCONF 2020 JaipurQuantifying Your World with AI & Docker  on the Edge | OSCONF 2020 Jaipur
Quantifying Your World with AI & Docker on the Edge | OSCONF 2020 Jaipur
 
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
 
The Fairy Tale of the One Command Build Script
The Fairy Tale of the One Command Build ScriptThe Fairy Tale of the One Command Build Script
The Fairy Tale of the One Command Build Script
 
9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training9 creating cent_os 7_mages_for_dpdk_training
9 creating cent_os 7_mages_for_dpdk_training
 

Mehr von Eric Ahn

Tensorflow and python : fault detection system - PyCon Taiwan 2017
Tensorflow and python : fault detection system - PyCon Taiwan 2017Tensorflow and python : fault detection system - PyCon Taiwan 2017
Tensorflow and python : fault detection system - PyCon Taiwan 2017Eric Ahn
 
Swift server-side-let swift2016
Swift server-side-let swift2016Swift server-side-let swift2016
Swift server-side-let swift2016Eric Ahn
 
Docker deploy
Docker deployDocker deploy
Docker deployEric Ahn
 
Keep it simple web development stack
Keep it simple web development stackKeep it simple web development stack
Keep it simple web development stackEric Ahn
 
Apache module-201511
Apache module-201511Apache module-201511
Apache module-201511Eric Ahn
 
Spring rest-doc-2015-11
Spring rest-doc-2015-11Spring rest-doc-2015-11
Spring rest-doc-2015-11Eric Ahn
 
Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-pythonEric Ahn
 
CORS review
CORS reviewCORS review
CORS reviewEric Ahn
 
Docker build #1
Docker build #1Docker build #1
Docker build #1Eric Ahn
 

Mehr von Eric Ahn (9)

Tensorflow and python : fault detection system - PyCon Taiwan 2017
Tensorflow and python : fault detection system - PyCon Taiwan 2017Tensorflow and python : fault detection system - PyCon Taiwan 2017
Tensorflow and python : fault detection system - PyCon Taiwan 2017
 
Swift server-side-let swift2016
Swift server-side-let swift2016Swift server-side-let swift2016
Swift server-side-let swift2016
 
Docker deploy
Docker deployDocker deploy
Docker deploy
 
Keep it simple web development stack
Keep it simple web development stackKeep it simple web development stack
Keep it simple web development stack
 
Apache module-201511
Apache module-201511Apache module-201511
Apache module-201511
 
Spring rest-doc-2015-11
Spring rest-doc-2015-11Spring rest-doc-2015-11
Spring rest-doc-2015-11
 
Py conkr 20150829_docker-python
Py conkr 20150829_docker-pythonPy conkr 20150829_docker-python
Py conkr 20150829_docker-python
 
CORS review
CORS reviewCORS review
CORS review
 
Docker build #1
Docker build #1Docker build #1
Docker build #1
 

Kürzlich hochgeladen

Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftAanSulistiyo
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdfMatthew Sinclair
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.krishnachandrapal52
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsMonica Sydney
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfJOHNBEBONYAP1
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...gajnagarg
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样ayvbos
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Roommeghakumariji156
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasDigicorns Technologies
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...kajalverma014
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrHenryBriggs2
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查ydyuyu
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样ayvbos
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查ydyuyu
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoilmeghakumariji156
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdfMatthew Sinclair
 

Kürzlich hochgeladen (20)

Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 

Tensorflow in Docker

  • 1. Docker 환경에서 TensorFlow를 설치하고 응용하기 Byungwook Ahn 2016/06 Tensorflow-kr at Google Seoul office
  • 2. Experienced Device driver(windows, linux) Media streaming CDN Docker PyCon Korea 2015 Speaker PyCon Hongkong 2015 Speaker
  • 3. 3
  • 4. Agenda • TensorFlow + GPU • TensorFlow Distributed Environment • Docker, Google Cloud Platform, AWS.. • Docker, Docker-compose… • Demo 4
  • 6. Pip install Virtualenv install Anaconda install Docker install Installing from sources 6 // Cool~ $ docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow // GPU? $ path/to/repo/tensorflow/tools/docker/docker_run_gpu.sh gcr.io/tensorflow/tensorflow:gpu Different way to install TensorFlow
  • 7. https://github.com/tensorflow/tensorflow, Branch:master,0.80,0.90rc (Binary download) • Linux CPU only: Python 2 (build history) / Python 3.4 (build history) / Python 3.5 (build history) • Linux GPU: Python 2 (build history) / Python 3.4 (build history) / Python 3.5 (build history) • Mac CPU only: Python 2 (build history) / Python 3 (build history) • Android (build history) 7
  • 8. // 2) install & setup for gcc and clang package $ xcode-select --install $ vi .zshrc ########## # CUDA export PATH=/Developer/NVIDIA/CUDA-7.5/bin:$PATH export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:$DYLD_LIBRARY_PATH $ kextstat | grep -i cuda 196 0 0xffffff7f82df8000 0x2000 0x2000 com.nvidia.CUDA (1.1.0) 5AFE550D-6361-3897-912D-897C13FF6983 <4 1> // nvcc compiler $ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2015 NVIDIA Corporation Built on Mon_Apr_11_13:23:40_CDT_2016 Cuda compilation tools, release 7.5, V7.5.26 $ cd /Developer/NVIDIA/CUDA-7.5/samples/ $ sudo make -C 0_Simple/vectorAdd $ sudo make -C 0_Simple/vectorAddDrv $ sudo make -C 1_Utilities/deviceQuery $ sudo make -C 1_Utilities/bandwidthTest $ cd bin/x86_64/darwin/release $ ./deviceQuery ./deviceQuery ./deviceQuery Starting... CUDA Device Query (Runtime API) version (CUDART static linking) cudaGetDeviceCount returned 35 -> CUDA driver version is insufficient for CUDA runtime version Result = FAIL $ ./bandwidthTest CUDA Bandwidth Test] - Starting... Running on... cudaGetDeviceProperties returned 35 -> CUDA driver version is insufficient for CUDA runtime version CUDA error at bandwidthTest.cu:255 code=35(cudaErrorInsufficientDriver) "cudaSetDevice(currentDevice) 8 1) download & install GPU support : CUDA https://developer.nvidia.com/cuda-downloads This Mac OS X El Capitan Version 10.11.4 MacBook Pro ( Retina, 15-inch, Mid 2015) Processor 2.2 GHz Intel Core i7 Memory 16GB 1600 MHz DDR3 Graphics Intel Iris Pro 1536 MB
  • 9. 9 GPU : “Open” issues blog article : CUDA+Tensorflow+Docker : https://goo.gl/dlXK2n
  • 10. 10 Host MacBook Host PM2 Demo for today… My Experienced : FullSeg Player(MPEG-2) + GPU Media Player + H.264 + GPU => Docker+GPU+Tensorflow ???
  • 13. 13
  • 15. Hello distributed TensorFlow # Start a TensorFlow server # as a single-process "cluster". $ python >>> import tensorflow as tf >>> c = tf.constant("Hello, distributed TensorFlow!") >>> server = tf.train.Server.create_local_server() Initialize HostPortsGrpcChannelCache for job local -> {localhost:55642} Started server with target: grpc://localhost:55642 >>> sess = tf.Session(server.target) # Create a session on the server. >>> sess.run(c) 'Hello, distributed TensorFlow!' 15 creates a single-process cluster, with an in-process server. class tf.train.Server “ for use in distributed training.”
  • 16. Create a cluster 16 cluster a set of "tasks" that participate in the distributed execution task : worker0 TensorFlow server …
  • 17. Create a tf.train.Server instance in each task 17 Server(cluster, job_name, task_index) cluster:a set of "tasks" that participate in the distributed execution cluster -> 1,000 server ?
  • 18. Specifying distributed devices in your model 18 tf.device() function that is used to specify whether ops run on the CPU or GPU. TensorFlow will insert the appropriate data transfers between the jobs(ps->worker, worker->ps)
  • 20. 20 GPU Distributed Env. Docker Google Cloud AWS Azure Native PM TensorFlow Distributed Env. Docker Google Cloud AWS Azure Native PM Distributed Env. Docker $$$ GPU $$$ AWS Google Cloud Azure Native PM(+TPU)
  • 21. 21 Tensorboard-server (192.168.99.101:6006) tensorflow-worker : master-0 tensorflow-worker : work-0 tensorflow-worker : work-1 tensorflow-worker : work-14 tensorflow-worker : ps-0 tensorflow-worker : ps-1 gRPC:8080 gRPC:8080 gRPC:8080 gRPC:8080 gRPC:8080 gRPC:8080 Jupyter-server (192.168.99.101:8888)http://104.155.200.100/text1.zip weavescope 192.168.99.101:404
  • 22. Docker, Docker-compose… Demo code : https://github.com/bwahn/tensorflow-kr-docker
  • 23. 23 Jupyter-server tensorflow-worker : ( ps-0/1/2, worker-0/1/.., master-0) compose file for Demo github:
  • 24. tf-worker 24 FROM gcr.io/tensorflow/tensorflow:latest-devel ADD worker.py worker.py CMD ["python", "worker.py"] import tensorflow as tf import os import logging import sys import ast root = logging.getLogger() root.setLevel(logging.INFO) ch = logging.StreamHandler(sys.stdout) root.addHandler(ch) POD_NAME = os.environ.get('POD_NAME') logging.info(POD_NAME) def main(job_name, task_id): server = tf.train.Server( { "ps": [ "ps-0:8080", "ps-1:8080", "ps-2:8080", "ps-3:8080", ], "worker": [ "worker-0:8080", "worker-1:8080", "worker-2:8080", "worker-3:8080", "worker-4:8080", "worker-5:8080", "worker-6:8080", "worker-7:8080", ], "master": [ "master-0:8080", ], }, job_name=job_name, task_index=task_id ) server.join() if __name__ == '__main__': this_job_name, this_task_id = POD_NAME.split('-', 2) main(this_job_name, int(this_task_id)) role defined
  • 25. 25 version: '2' services: #### ps-0: build: ./tf-worker/ container_name: ps-0 image: ps-0:0.1 ports: - "8080" environment: POD_NAME: ps-0 …. ps-0 ( docker-compose.yaml ) $ docker-compose -f docker-compose.yaml build ps-0 Building ps-0 Step 1 : FROM gcr.io/tensorflow/tensorflow:latest-devel ---> c3efccc5f94f Step 2 : ADD worker.py worker.py ---> Using cache ---> f9c2d840b051 Step 3 : CMD python worker.py ---> Using cache ---> 57a6c024580c Successfully built 57a6c024580c $ docker images | grep ps -0 REPOSITORY TAG IMAGE ID CREATED SIZE ps-0 0.1 57a6c024580c 2 days ago 2.38 GB gRPC port POD_NAME env in worker.py
  • 26. 26 //docker-compose.yaml version: '2' services: #### ps-0: build: ./tf-worker/ container_name: ps-0 image: ps-0:0.1 ports: - "8080" environment: POD_NAME: ps-0 ps-1: build: ./tf-worker/ container_name: ps-1 image: ps-1:0.1 ports: - "8080" environment: POD_NAME: ps-1 ps-2: build: ./tf-worker/ container_name: ps-2 image: ps-2:0.1 ports: - "8080" environment: POD_NAME: ps-2 ps-3: build: ./tf-worker/ container_name: ps-3 image: ps-3:0.1 ports: - "8080" environment: POD_NAME: ps-3 #### worker-0: build: ./tf-worker/ container_name: worker-0 image: worker-0:0.1 ports: - "8080" environment: POD_NAME: worker-0 worker-1: build: ./tf-worker/ container_name: worker-1 image: worker-1:0.1 ports: - "8080" environment: POD_NAME: worker-1 worker-2: build: ./tf-worker/ container_name: worker-2 image: worker-2:0.1 ports: - "8080" environment: POD_NAME: worker-2 worker-3: build: ./tf-worker/ container_name: worker-3 image: worker-3:0.1 ports: - "8080" environment: POD_NAME: worker-3 worker-4: build: ./tf-worker/ container_name: worker-4 image: worker-4:0.1 ports: - "8080" environment: POD_NAME: worker-4 worker-5: build: ./tf-worker/ container_name: worker-5 image: worker-5:0.1 ports: - "8080" environment: POD_NAME: worker-5 worker-6: build: ./tf-worker/ container_name: worker-6 image: worker-6:0.1 ports: - "8080" environment: POD_NAME: worker-6 worker-7: build: ./tf-worker/ container_name: worker-7 image: worker-7:0.1 ports: - "8080" environment: POD_NAME: worker-7 #### master-0: build: ./tf-worker/ container_name: master-0 image: master-0:0.1 ports: - "8080" environment: POD_NAME: master-0
  • 27. 27 Jupyter-server tensorflow-worker : ( ps-0/1/2, worker-0/1/.., master-0) compose file for Demo github:
  • 28. 28 tf-jupyter // TensorFlow github $ git clone https://github.com/tensorflow/tensorflow.git $ cd /tensorflow-git/tensorflow/tools/docker from tensorflow-workshop
  • 29. 29 $ docker-compose -f docker-compose.yaml build jupyter-server Building jupyter-server Step 1 : FROM ubuntu:14.04 ---> 8f1bd21bd25c Step 2 : MAINTAINER Craig Citro <craigcitro@google.com> ---> Using cache ---> c87f53e1cfc9 Step 3 : RUN apt-get update && apt-get install -y curl libfreetype6-dev libpng12-dev libzmq3-dev pkg-config python-numpy python-pip python-scipy && apt-get clean && rm -rf /var/lib/apt/lists/* ---> Using cache ---> a5abc6a5ed5a Step 4 : RUN curl -O https://bootstrap.pypa.io/get-pip.py && python get-pip.py && rm get-pip.py ---> Using cache ---> 39df3de28486 Step 5 : RUN pip --no-cache-dir install ipykernel jupyter matplotlib && python -m ipykernel.kernelspec ---> Using cache ---> ce0e0004e0a6 Step 6 : ENV TENSORFLOW_VERSION 0.8.0 ---> Using cache ---> 80791608c082 Step 7 : RUN pip --no-cache-dir install http://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-${TENSORFLOW_VERSION}-cp27-none-linux_x86_64.whl ---> Using cache ---> 980ebdfed88c Step 8 : COPY jupyter_notebook_config.py /root/.jupyter/ ---> Using cache ---> 2e2aa264d165 Step 9 : COPY notebooks /notebooks ---> Using cache ---> 3b6409cc98a9 Step 10 : COPY run_jupyter.sh / ---> Using cache ---> b6cfb46577ed Step 11 : EXPOSE 6006 ---> Using cache ---> e4010cf837c6 Step 12 : EXPOSE 8888 ---> Using cache ---> 0266ba056034 Step 13 : WORKDIR "/notebooks" ---> Using cache ---> 48983eb7b7af Step 14 : CMD /run_jupyter.sh ---> Using cache ---> 364efc0d61ce Successfully built 364efc0d61ce $ docker images | grep tf-jupyter-server REPOSITORY TAG IMAGE ID CREATED SIZE tf-jupyter-server 0.1 364efc0d61ce 4 days ago 722 MB //docker-compose.yaml … jupyter-server: build: context: ./tf-jupyter/ container_name: tf-jupyter-server image: tf-jupyter-server:0.1 ports: - "8888:8888" - "80:80" volumes: - /tmp/tf/tensorflow-logs:/var/log/tensorflow
  • 30. 30 Tensorboard-server (192.168.99.101:6006) tensorflow-worker : master-0 tensorflow-worker : work-0 tensorflow-worker : work-1 tensorflow-worker : work-14 tensorflow-worker : ps-0 tensorflow-worker : ps-1 gRPC:8080 gRPC:8080 gRPC:8080 gRPC:8080 gRPC:8080 gRPC:8080 Jupyter-server (192.168.99.101:8888)http://104.155.200.100/text1.zip
  • 31. 31 //docker-compose.yaml … tf-tensorboard-server: image: gcr.io/tensorflow/tensorflow:latest-devel container_name: tf-tensorboard-server ports: - "6006:6006" command: /tensorflow/bazel-bin/tensorflow/tensorboard/tensorboard --logdir=/var/log/tensorflow volumes: - /tmp/tf/tensorflow-logs:/var/log/tensorflow Tensorboard-server
  • 32. Demo
  • 33. 33 Summary - Tensorflow Distributed Environment ( with Docker ) Future - Native Clustering (several hosts ): Docker Swarm, RancherOS - Docker + GPU Architecture & Test Environment Q&A