Ubuntu opencv tensorflow : Easy install in Local

This is an Easy way to install your own environment , and compile the programs  for your  machine in local. just applicate t he procedure

just applicate the the next commands in your console

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential cmake unzip pkg-config
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3-dev
cd ~
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.4.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.4.zip
mv opencv-3.4.4 opencv
mv opencv_contrib-3.4.4 opencv_contrib

wget https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py

sudo pip install virtualenv virtualenvwrapper
sudo rm -rf ~/get-pip.py ~/.cache/pip

# Vitual environment is very usefull when you want to change python version or other librairies

echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.bashrc
echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.bashrc
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc
echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
# here the Vitual environment is cv 
mkvirtualenv cv -p python3
workon cv
pip3 install numpy
cd ~/opencv-3.4.4/
mkdir build
cd build


# You can make the ‘make’ process leverage multiple cores by simply adding the ‘-j’, along with the number of logical cores your computer has.
# Example: Dual-core: -j2; Quad-core: -j4; Octa-core: -j8, etc.
# If the process fails with the flag enabled, you may need to remove the flag due to a possible race condition causing the error. Then run ‘make clean’ and then ‘make’ to run it with a single core.

make -j4
if [ ! $? -eq 0 ]; then
make clean
#If compilation finishes without errors, you can install by saying:
sudo make install
sudo ldconfig
cd /usr/local/python/cv2/python-3.5
sudo mv cv2.cpython-35m-x86_64-linux-gnu.so cv2.so
cd ~/.virtualenvs/cv/lib/python3.5/site-packages/
ln -s /usr/local/python/cv2/python-3.5/cv2.so cv2.so
# you can also complete your installation  with tensorflow and keras  to add deep learning functionnalities

pip3 install jupyter
pip install numpy
pip install opencv-contrib-python
pip install scipy matplotlib pillow
pip install imutils h5py requests progressbar2
pip install scikit-learn scikit-image
pip install keras

pip install tensorflow
pip install tensorflow-gpu


The kubelet is the primary “node agent” that runs on each node. The kubelet works in terms of a PodSpec.

The kubelet is the Go process agent running on each worker node of a Kubernetes cluster. It’s only function is to receive PodSpec and ensure that the containers described in those PodSpec are running and healthy. A PodSpec is a YAML or JSON object that describes a pod.

A PodSpec is a YAML or JSON object that describes a pod. The kubelet takes a set of PodSpecs that are provided through various mechanisms (primarily through the apiserver) and ensures that the containers described in those PodSpecs are running and healthy. The kubelet doesn’t manage containers which were not created by Kubernetes.

Other than from a PodSpec from the apiserver, there are three ways that a container manifest can be provided to the Kubelet.

File: Path passed as a flag on the command line. Files under this path will be monitored periodically for updates. The monitoring period is 20s by default and is configurable via a flag.

HTTP endpoint: HTTP endpoint passed as a parameter on the command line. This endpoint is checked every 20 seconds (also configurable with a flag).

HTTP server: The kubelet can also listen for HTTP and respond to a simple API (underspec’d currently) to submit a new manifest.