├── .gitignore ├── 1-install-dependencies.sh ├── 2-install-java.sh ├── 3-install-bazel.sh ├── 4-install-cuda.sh ├── 5-install-tensorflow.sh ├── README.md ├── commands.sh ├── install-bazel-new.sh ├── install-docker.sh └── tensorflow-setup-all.sh /.gitignore: -------------------------------------------------------------------------------- 1 | .idea -------------------------------------------------------------------------------- /1-install-dependencies.sh: -------------------------------------------------------------------------------- 1 | # Install dependencies 2 | sudo apt-get update 3 | sudo apt-get install -y wget python-pip python-dev unzip 4 | sudo pip install six numpy wheel -------------------------------------------------------------------------------- /2-install-java.sh: -------------------------------------------------------------------------------- 1 | # Install Java 2 | 3 | # Permissions needed 4 | sudo add-apt-repository -y ppa:webupd8team/java 5 | sudo apt-get update 6 | 7 | # Hack to silently agree license agreement 8 | echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections 9 | echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections 10 | sudo apt-get install -y oracle-java8-installer -------------------------------------------------------------------------------- /3-install-bazel.sh: -------------------------------------------------------------------------------- 1 | # Install Bazel 2 | # Taken from official Tensorflow Repository 3 | 4 | # Select bazel version. 5 | BAZEL_VERSION="0.4.5" 6 | 7 | set +e 8 | local_bazel_ver=$(bazel version 2>&1 | grep -i label | awk '{print $3}') 9 | 10 | if [[ "$local_bazel_ver" == "$BAZEL_VERSION" ]]; then 11 | exit 0 12 | fi 13 | 14 | set -e 15 | 16 | # Install bazel. 17 | mkdir -p /bazel 18 | cd /bazel 19 | if [[ ! -f "bazel-$BAZEL_VERSION-installer-linux-x86_64.sh" ]]; then 20 | curl -fSsL -O https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh 21 | fi 22 | chmod +x /bazel/bazel-*.sh 23 | /bazel/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh 24 | rm -f /bazel/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh 25 | 26 | # Enable bazel auto completion. 27 | echo "source /usr/local/lib/bazel/bin/bazel-complete.bash" >> ~/.bashrc -------------------------------------------------------------------------------- /4-install-cuda.sh: -------------------------------------------------------------------------------- 1 | # Install CUDA 2 | sudo apt-get update 3 | sudo apt-get install -y cuda 4 | 5 | # Add environmental variables 6 | echo >> .bashrc 7 | echo "export CUDA_HOME=/usr/local/cuda" >> .bashrc 8 | echo "export CUDA_ROOT=/usr/local/cuda" >> .bashrc 9 | echo "export PATH=$PATH:/usr/local/cuda/bin:$HOME/bin" >> .bashrc 10 | echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64" >> .bashrc 11 | 12 | # Install Nvidia-driver 13 | # Relace version with appropriate version for your hardware 14 | sudo apt-get install -y nvidia-version-* 15 | -------------------------------------------------------------------------------- /5-install-tensorflow.sh: -------------------------------------------------------------------------------- 1 | # Install Tensorflow and it's dependencies 2 | 3 | # Install Tensorflow using pip 4 | sudo pip install tensorflow 5 | 6 | # Install Tensorflow GPU 7 | sudo pip install tensorflow-gpu -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Scripts to install and setup Tensorflow and it's dependencies on Ubuntu. 2 | 3 | ## Requirements 4 | 1. Ubuntu >14.04 5 | 2. Nvidia GPU 6 | 7 | ## Run 8 | sh tensorflow-setup-all.sh 9 | to install everything in one command. 10 | 11 | Scripts are included to install Java, Bazel, CUDA, Tensorflow and Docker. 12 | 13 | Scripts can be used inside a docker container to install everything in one command or one at a time. 14 | 15 | ## Licensing 16 | 17 | MIT License -------------------------------------------------------------------------------- /commands.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # To stop all containers 4 | sudo docker stop $(sudo docker ps -aq) 5 | 6 | # To remove all containers 7 | sudo docker rm $(sudo docker ps -aq) 8 | 9 | # To remove a docker image 10 | sudo docker rmi your-docker-image 11 | 12 | # To create a docker image using the Dockerfile(Path of the Dockerfile) 13 | sudo docker build -t new-docker-image:tag docker-file-path 14 | 15 | # To run a docker image as a container 16 | sudo docker run docker-image-name:tag 17 | 18 | 19 | -------------------------------------------------------------------------------- /install-bazel-new.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | """ 4 | 1st Method 5 | """ 6 | 7 | # Add Bazel distribution URI as a package source 8 | echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list 9 | curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add - 10 | 11 | # Install and update Bazel 12 | sudo apt-get update && sudo apt-get install bazel 13 | 14 | # To upgrade to a newer version of Bazel 15 | sudo apt-get upgrade bazel 16 | 17 | """ 18 | 2nd Method 19 | """ 20 | 21 | # Select bazel version. 22 | BAZEL_VERSION="0.5.0" 23 | 24 | # Install required packages 25 | sudo apt-get install pkg-config zip g++ zlib1g-dev unzip 26 | 27 | # Download bazel 28 | mkdir -p /bazel 29 | cd /bazel 30 | if [[ ! -f "bazel-$BAZEL_VERSION-installer-linux-x86_64.sh" ]]; then 31 | curl -fSsL -O https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh 32 | fi 33 | 34 | # Run the installer 35 | chmod +x bazel-$BAZEL_VERSION-installer-linux-x86_64.sh 36 | ./bazel-$BAZEL_VERSION-installer-linux-x86_64.sh --user 37 | 38 | # Add $HOME/bin directory to your default paths 39 | export PATH="$PATH:$HOME/bin" 40 | 41 | # To upgrade to a newer version of Bazel 42 | sudo apt-get upgrade bazel -------------------------------------------------------------------------------- /install-docker.sh: -------------------------------------------------------------------------------- 1 | # Install Docker 2 | 3 | sudo apt-get update 4 | sudo apt-get install curl \ 5 | linux-image-extra-$(uname -r) \ 6 | linux-image-extra-virtual 7 | sudo apt-get install apt-transport-https \ 8 | software-properties-common \ 9 | ca-certificates 10 | curl -fsSL https://yum.dockerproject.org/gpg | sudo apt-key add - 11 | sudo apt-get install software-properties-common 12 | sudo add-apt-repository \ 13 | "deb https://apt.dockerproject.org/repo/ \ 14 | ubuntu-$(lsb_release -cs) \ 15 | main" 16 | sudo apt-get update 17 | sudo apt-get -y install docker-engine -------------------------------------------------------------------------------- /tensorflow-setup-all.sh: -------------------------------------------------------------------------------- 1 | # 1.Install dependencies 2 | sudo apt-get update 3 | sudo apt-get install -y wget python-pip python-dev unzip 4 | sudo pip install six numpy wheel 5 | 6 | 7 | # 2.Install Java 8 | 9 | # Permissions needed 10 | sudo add-apt-repository -y ppa:webupd8team/java 11 | sudo apt-get update 12 | 13 | # Hack to silently agree license agreement 14 | echo debconf shared/accepted-oracle-license-v1-1 select true | sudo debconf-set-selections 15 | echo debconf shared/accepted-oracle-license-v1-1 seen true | sudo debconf-set-selections 16 | sudo apt-get install -y oracle-java8-installer 17 | 18 | 19 | # 3.Install Bazel 20 | 21 | # Taken from official Tensorflow Repository 22 | 23 | # Select bazel version. 24 | BAZEL_VERSION="0.4.2" 25 | 26 | set +e 27 | local_bazel_ver=$(bazel version 2>&1 | grep -i label | awk '{print $3}') 28 | 29 | if [[ "$local_bazel_ver" == "$BAZEL_VERSION" ]]; then 30 | exit 0 31 | fi 32 | 33 | set -e 34 | 35 | mkdir -p /bazel 36 | cd /bazel 37 | if [[ ! -f "bazel-$BAZEL_VERSION-installer-linux-x86_64.sh" ]]; then 38 | curl -fSsL -O https://github.com/bazelbuild/bazel/releases/download/$BAZEL_VERSION/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh 39 | fi 40 | chmod +x /bazel/bazel-*.sh 41 | /bazel/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh 42 | rm -f /bazel/bazel-$BAZEL_VERSION-installer-linux-x86_64.sh 43 | 44 | # Enable bazel auto completion. 45 | echo "source /usr/local/lib/bazel/bin/bazel-complete.bash" >> ~/.bashrc 46 | 47 | 48 | # 4.Install CUDA 49 | sudo apt-get update 50 | sudo apt-get install -y cuda 51 | 52 | # Add environmental variables 53 | echo >> .bashrc 54 | echo "export CUDA_HOME=/usr/local/cuda" >> .bashrc 55 | echo "export CUDA_ROOT=/usr/local/cuda" >> .bashrc 56 | echo "export PATH=$PATH:/usr/local/cuda/bin:$HOME/bin" >> .bashrc 57 | echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64" >> .bashrc 58 | 59 | # Install Nvidia-driver 60 | # Relace version with appropriate version for your hardware 61 | sudo apt-get install -y nvidia-version-* 62 | 63 | 64 | # 5.Install Tensorflow and it's dependencies 65 | 66 | # Install Tensorflow using pip 67 | sudo pip install tensorflow 68 | 69 | # Install Tensorflow GPU 70 | sudo pip install tensorflow-gpu 71 | --------------------------------------------------------------------------------