# PC LipNet安裝流程 ## Prerequisite ### 1. Update ``` $ sudo apt update -y && sudo apt full-upgrade -y ``` ### 2. tensorflow 2.6 ``` # get a fresh start (remember, the 64-bit OS is still under development) $ sudo apt-get update $ sudo apt-get upgrade # install pip and pip3 $ sudo apt-get install python-pip python3-pip # remove old versions, if not placed in a virtual environment (let pip search for them) $ sudo pip uninstall tensorflow $ sudo pip3 uninstall tensorflow # utmost important: use only numpy version 1.19.5 # check the version first $ pip3 list | grep numpy # if not version 1.19.5, update! $ sudo -H pip3 install numpy==1.19.5 # install the dependencies (if not already onboard) $ sudo apt-get install gfortran $ sudo apt-get install libhdf5-dev libc-ares-dev libeigen3-dev $ sudo apt-get install libatlas-base-dev libopenblas-dev libblas-dev $ sudo apt-get install liblapack-dev # upgrade setuptools 40.8.1 -> 57.4.0 $ sudo -H pip3 install --upgrade setuptools $ sudo -H pip3 install pybind11 $ sudo -H pip3 install Cython # install h5py with Cython version 0.29.23 (± 15 min @1500 MHz) $ sudo -H pip3 install h5py==3.1.0 # install gdown to download from Google drive $ pip3 install gdown # download the wheel $ gdown https://drive.google.com/uc?id=1BLXP7RKEfTp9fxbmI8Qu2FdhU7NUxcwV # install TensorFlow 2.6.0 (± 68 min @1500 MHz) $ sudo -H pip3 install tensorflow-2.6.0-cp37-cp37m-linux_aarch64.whl ``` ### 3. opencv ``` # check for updates (64-bit OS is still under development!) $ sudo apt-get update $ sudo apt-get upgrade # dependencies $ sudo apt-get install build-essential cmake git unzip pkg-config $ sudo apt-get install libjpeg-dev libpng-dev $ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev $ sudo apt-get install libgtk2.0-dev libcanberra-gtk* libgtk-3-dev $ sudo apt-get install libxvidcore-dev libx264-dev $ sudo apt-get install python3-dev python3-numpy python3-pip $ sudo apt-get install libtbb2 libtbb-dev libdc1394-22-dev $ sudo apt-get install libv4l-dev v4l-utils $ sudo apt-get install libopenblas-dev libatlas-base-dev libblas-dev $ sudo apt-get install liblapack-dev gfortran libhdf5-dev $ sudo apt-get install libprotobuf-dev libgoogle-glog-dev libgflags-dev $ sudo apt-get install protobuf-compiler $ pip3 install opencv-python #上面都執行了,才可以成功執行這一行。 ``` ### 4. install dlib https://www.pyimagesearch.com/2017/05/01/install-dlib-raspberry-pi/ ### 5. 安裝 -> pip install 'Keras\==2.0.2' 'editdistance\==0.6.0' 'h5py\==2.10.0', 'matplotlib\==3.3.4', 'numpy\==1.19.5', 'python-dateutil\==2.8.2', 'scipy\==1.1.0', 'Pillow\==8.4.0', 'Theano\==1.0.5', 'nltk\==3.6.5', 'sk-video\==1.1.10', pip install installed numpy-1.21.5 ### 6. Modify predict.py 1. move predict.py ../ 2. face_predictor_path && PREDICT_DICTIONARY -> REMOVE ../ 3ls. 把predict.py裡面的print加() ### 7. Disable TF V2 ``` nano /home/pi/.local/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py ``` import tensorflow.compat.v1 as tf tf.disable_v2_behavior() ``` nano /home/pi/.local/lib/python3.7/site-packages/keras/optimizers.py ``` import tensorflow.compat.v1 as tf tf.disable_v2_behavior() ### 8. Execute ``` python3 /home/pi/Desktop/LipNet/evaluation/predict.py /home/pi/Desktop/LipNet/evaluation/models/overlapped-weights368.h5 /home/pi/Desktop/LipNet/test/FPS5.mpg ``` ### ==Optimize== ``` nano predict.py ``` remove show_video_subtitle(video.face, result)