- sudo apt-get install build-essential
- sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
- sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev libgtkglext1-dev libgtk-3-dev
- sudo apt install libcanberra-gtk-module libcanberra-gtk3-module
sudo apt install libomp-dev
编辑 /etc/gdm3/custom.conf,修改配置使得,“WaylandEnable=true”
- # edit /etc/gdm3/custom.conf
- sudo nano /etc/gdm3/custom.conf
- ******************************
- + WaylandEnable=true
- ******************************
-
- # restart GDM
- sudo systemctl restart gdm3
>> tesseract是一个开源的OCR引擎,最初是由惠普公司开发用来作为其平板扫描仪的 OCR引擎,2005年惠普将其开源出来,之后google接手负责维护
- sudo add-apt-repository ppa:alex-p/tesseract-ocr
- sudo apt-get update
- sudo apt-get install tesseract-ocr
>> 字库下载 : tesseract支持60多种语言的识别不同,使用之前需要先下载对应语言的字库,下载地址:https://github.com/tesseract-ocr/tessdata
latest update : 2021 . 5 years ago generically
>> 下载完成之后把.traineddata字库文件放到tessdata目录下,默认路径是/usr/share/tesseract-ocr /4.00/tessdata
- wget https://gitcode.net/mirrors/tesseract-ocr/tessdata/-/archive/4.1.0/tessdata-4.1.0.tar.gz
- tar xf tessdata-4.1.0.tar.gz
- sudo cp -a tessdata-4.1.0/*.traineddata /usr/share/tesseract-ocr/4.00/tessdata/
( https://github.com/intel/compute-runtime/releases )
- mkdir neo && cd neo
- # Download all *.deb packages
- wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.14062.11/intel-igc-core_1.0.14062.11_amd64.deb
- wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.14062.11/intel-igc-opencl_1.0.14062.11_amd64.deb
- wget https://github.com/intel/compute-runtime/releases/download/23.22.26516.18/intel-level-zero-gpu-dbgsym_1.3.26516.18_amd64.ddeb
- wget https://github.com/intel/compute-runtime/releases/download/23.22.26516.18/intel-level-zero-gpu_1.3.26516.18_amd64.deb
- wget https://github.com/intel/compute-runtime/releases/download/23.22.26516.18/intel-opencl-icd-dbgsym_23.22.26516.18_amd64.ddeb
- wget https://github.com/intel/compute-runtime/releases/download/23.22.26516.18/intel-opencl-icd_23.22.26516.18_amd64.deb
- wget https://github.com/intel/compute-runtime/releases/download/23.22.26516.18/libigdgmm12_22.3.0_amd64.deb
- # Verify sha256 sums for packages
- wget https://github.com/intel/compute-runtime/releases/download/23.22.26516.18/ww22.sum
- sha256sum -c ww22.sum
- # Install all packages as root
- sudo dpkg -i *.deb
- # In case of installation problems, please install required dependencies, for example:
- sudo apt install ocl-icd-libopencl1
( https://www.intel.com/content/www/us/en/docs/oneapi/installation-guide-linux/2023-0/apt.html )
- # download the key to system keyring
- wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
- # add signed entry to apt sources and configure the APT client to use Intel repository:
- echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
- sudo apt update
- sudo apt install intel-basekit
- # Intel® oneAPI HPC Toolkit
- sudo apt install intel-hpckit
- # Intel® oneAPI IoT Toolkit
- sudo apt install intel-iotkit
- # Intel® oneAPI DL Framework Developer Toolkit
- sudo apt install intel-dlfdkit
- # Intel® AI Analytics Toolkit
- sudo apt install intel-aikit
- # Intel® oneAPI Rendering Toolkit
- sudo apt install intel-renderkit
( https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html )
- wget https://registrationcenter-download.intel.com/akdlm/IRC_NAS/adb8a02c-4ee7-4882-97d6-a524150da358/l_onemkl_p_2023.2.0.49497_offline.sh
- sudo sh ./l_onemkl_p_2023.2.0.49497_offline.sh
+------------------------------------------------------------------------
| Recommended for host machines with poor or no internet connection
| Size 913.25 MB
| Version 2023.2.0
| Date July 13, 2023
| SHA384 f5cc20cdd92ab961693c7649fb0b046937ae8aae92eb1464090a187816e7bad3ccd6ef5bf90924226d5f4d1314fe57ab
+------------------------------------------------------------------------
- # Install minimal prerequisites (Ubuntu 18.04 as reference)
- sudo apt update && sudo apt install -y cmake g++ wget unzip
- # Download and unpack sources
- wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip
- wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.x.zip
- unzip opencv.zip
- unzip opencv_contrib.zip
- # Create build directory and switch into it
- mkdir -p build && cd build
- # Configure
- cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules ../opencv-4.x
- # or debug mode
- cmake -DCMAKE_BUILD_TYPE=Debug -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.x/modules ../opencv-4.x
- # Build
- cmake --build . -j 8
(https://tensorflow.google.cn/install/source?hl=zh-cn)
pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple
或
pip install tensorflow==2.13 -i https://pypi.tuna.tsinghua.edu.cn/simple
TensorFlow 将被安装在 ~/.local/lib/python3.8/site-packages/tensorflow 路径下,使用TensorFlow 库的项目将需要包含这个路径 ~/.local/lib/python3.8/site-packages/tensorflow/include as include directory.
use ~/.local/lib/python3.8/site-packages/tensorflow as lib path
建议添加指向库的软链接,方便部分基于这些库的开源项目的编译。
- cd ~/.local/lib/python3.8/site-packages/tensorflow
- ln -s libtensorflow_cc.so.2 libtensorflow_cc.so
- ln -s libtensorflow_framework.so.2 libtensorflow_framework.so
-
- cd ~/.local/lib/python3.8/site-packages/numpy.libs
- ln -s libopenblas64_p-r0-15028c96.3.21.so libopenblas.so
- ln -s libquadmath-96973f99.so.0.0.0 libquadmath.so
(https://blog.csdn.net/MOU_IT/article/details/87976152)
- wget https://github.com/protocolbuffers/protobuf/releases/download/v3.7.1/protobuf-cpp-3.7.1.tar.gz
- tar -xzvf protobuf-cpp-3.7.1.tar.gz
- sudo apt-get install automake libtool
- ./autogen.sh
- ./configure
- make
- sudo make install
- sudo ldconfig
- # sudo make uninstall 安装错版本后卸载指令
- protoc --version # 查看protobuf版本
+--------------------------------+--------------------------+
| tensorflow 2.15.0 rc | Bazel 6.1.0 |
| tensorflow 2.13.0 | Bazel 5.3.0 |
+--------------------------------+--------------------------+
bazel是Google开源的一套编译构建工具,广泛应用于Google内部,包括TensorFlow项目。
- # prepare tools
- sudo apt-get install pkg-config zip g++ zlib1g-dev unzip python
- # download bazel 5.3.0
- wget https://github.com/bazelbuild/bazel/releases/download/5.3.0/bazel-5.3.0-installer-linux-x86_64.sh
- sudo chmod +x bazel-5.3.0-installer-linux-x86_64.sh
- # install bazel to $HOME/.bazel/bin
- ./bazel-5.3.0-installer-linux-x86_64.sh --user
- export PATH="$PATH:$HOME/bin"
- git clone --recursive https://github.com/tensorflow/tensorflow.git
- cd tensorflow
- # switch to the branch you want to build
- git checkout r2.13 # r1.9, r1.10, etc.
(libtensorflow_cc.so & libtensorflow_cc_framework.so)
- ./configure
- ## tensorflow:libtensorflow_cc.so
- bazel build --config=opt //tensorflow:libtensorflow_cc.so
-
- ## tensorflow:libtensorflow_cc.so with cuda
- bazel build --config=opt --config=cuda //tensorflow:libtensorflow_cc.so
-
- ## tensorflow/tools/pip_package:build_pip_package
- bazel build -c opt --copt=-msse3 --copt=-msse4.1 --copt=-msse4.2 --copt=-mavx --copt=-mavx2 --copt=-mfma //tensorflow:libtensorflow_cc.so
-
- bazel build
-
- ## build install python-package
- bazel-bin/tensorflow/tools/pip_package/build_pip_package package/20230912
-
- ## remove old version and install new package
- pip uninstall tensorflow
- pip install package/20230912/tensorflow-*.whl
参考 : https://eigen.tuxfamily.org/index.php?title=Main_Page
下载&解压:
- wget https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.bz2
- tar xf eigen-3.4.0.tar.bz2
编译&安装:
- cd eigen-3.4.0
- cmake .. && sudo make install
安装后,头文件安装在/usr/local/include/eigen3/路径下,很多程序中include时 经常使用#include
sudo ln -s /usr/local/include/eigen3/Eigen /usr/local/include/Eigen
(https://pypi.org/project/ml-dtypes/) (https://github.com/jax-ml/ml_dtypes)
ml_dtypes is a stand-alone implementation of several NumPy dtype extensions used in machine learning libraries,
- sudo apt install python3-pip
- sudo pip install ml_dtypes
否则将编译 TensorFlow时将报告如下错误:
/usr/local/lib/python3.8/dist-packages/third_party/eigen/Eigen
[ 50%] Building CXX object CMakeFiles/tf_test.dir/src/hello.cpp.o
In file included from /home/rd/tensorflow/tensorflow/core/platform/float8.h:19,
from /home/rd/tensorflow/tensorflow/core/platform/types.h:20,
from /home/rd/tensorflow/tensorflow/core/platform/env_time.h:20,
from /home/rd/tensorflow/tensorflow/core/platform/env.h:26,
from /home/rd/tensorflow-test-prog/src/hello.cpp:1:
/home/rd/tensorflow/tensorflow/tsl/platform/float8.h:19:10: fatal error: include/float8.h:没有那个文件或目录
19 | #include "include/float8.h" // from @ml_dtypes
| ^~~~~~~~~~~~~~~~~~
compilation terminated.
- wget https://github.com/abseil/abseil-cpp/archive/refs/tags/20230125.3.tar.gz
- tar xf 20230125.3.tar.gz
- cd abseil-cpp-20230125.3
- mkdir build
- cd build
- cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
- make -j8
- sudo make install
否则将编译 TensorFlow时将报告如下错误:
| In file included from /home/rd/tensorflow/tensorflow/core/platform/cord.h:19,
| from /home/rd/tensorflow/tensorflow/core/platform/tstring.h:19,
| from /home/rd/tensorflow/tensorflow/core/platform/types.h:22,
| from /home/rd/tensorflow/tensorflow/core/platform/env_time.h:20,
| from /home/rd/tensorflow/tensorflow/core/platform/env.h:26,
| from /home/rd/tensorflow-test-prog/src/hello.cpp:1:
| /home/rd/tensorflow/tensorflow/tsl/platform/cord.h:21:10: fatal error: absl/strings/cord.h: 没有那个文件或目录
| 21 | #include "absl/strings/cord.h" // IWYU pragma: export
| | ^~~~~~~~~~~~~~~~~~~~~
- sudo apt-get install autoconf automake libtool curl make g++ unzip
- wget https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protobuf-24.2.tar.gz
- tar xf protobuf-24.2.tar.gz
- cd protobuf-24.2
- cp -a abseil-cpp-20230125.3 thirdparty/abseil-cpp
- mkdir build && cd build
- cmake -Dprotobuf_BUILD_TESTS=OFF ..
- make -j8
- sudo make install
- sudo ldconfig # refresh shared library cache.
或
- wget https://github.com/protocolbuffers/protobuf/releases/download/v24.2/protoc-24.2-linux-x86_64.zip
- unzip protoc-24.2-linux-x86_64.zip
- sudo cp bin/protoc /usr/local/bin/
- sudo cp -a include/google /usr/local/include/
否则将编译 TensorFlow时将报告如下错误:
In file included from /home/rd/tensorflow/tensorflow/tsl/platform/status.h:39,
from /home/rd/tensorflow/tensorflow/core/platform/status.h:23,
from /home/rd/tensorflow/tensorflow/core/platform/errors.h:27,
from /home/rd/tensorflow/tensorflow/core/platform/env.h:27,
from /home/rd/tensorflow-test-prog/src/hello.cpp:1:
/home/rd/tensorflow/tensorflow/tsl/protobuf/error_codes.pb.h:11:10: fatal error: google/protobuf/port_def.inc: 没有那个文件或目录
11 | #include "google/protobuf/port_def.inc"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/tf_test.dir/build.make:63:CMakeFiles/tf_test.dir/src/hello.cpp.o] 错误 1
make[1]: *** [CMakeFiles/Makefile2:76:CMakeFiles/tf_test.dir/all] 错误 2
make: *** [Makefile:84:all] 错误 2
cd ~/tensorflow
ls tensorflow/tsl/protobuf
bfc_memory_map.proto coordination_config.proto distributed_runtime_payloads.proto error_codes.proto rpc_options.proto test_log.proto
BUILD coordination_service.proto dnn.proto histogram.proto status.proto
protoc --cpp_out=. tensorflow/tsl/protobuf/*.proto
ls tensorflow/tsl/protobuf/
bfc_memory_map.pb.cc coordination_config.proto distributed_runtime_payloads.proto error_codes.proto rpc_options.proto test_log.proto
bfc_memory_map.pb.h coordination_service.pb.cc dnn.pb.cc histogram.pb.cc status.pb.cc
bfc_memory_map.proto coordination_service.pb.h dnn.pb.h histogram.pb.h status.pb.h
BUILD coordination_service.proto dnn.proto histogram.proto status.proto
coordination_config.pb.cc distributed_runtime_payloads.pb.cc error_codes.pb.cc rpc_options.pb.cc test_log.pb.cc
coordination_config.pb.h distributed_runtime_payloads.pb.h error_codes.pb.h rpc_options.pb.h test_log.pb.h
protoc --cpp_out=. tensorflow/*/*/*.proto
protoc --cpp_out=. tensorflow/*/*/*/*.proto
+--------------------------------------------------solve compile error ----------------------------------------------+
| [ 50%] Building CXX object CMakeFiles/tf_test.dir/src/hello.cpp.o
| In file included from /home/rd/tensorflow/tensorflow/core/platform/status.h:23,
| from /home/rd/tensorflow/tensorflow/core/platform/errors.h:27,
| from /home/rd/tensorflow/tensorflow/core/platform/env.h:27,
| from /home/rd/tensorflow-test-prog/src/hello.cpp:1:
| /home/rd/tensorflow/tensorflow/tsl/platform/status.h:39:10: fatal error: tensorflow/tsl/protobuf/error_codes.pb.h: 没有那个文件或目录
| 39 | #include "tensorflow/tsl/protobuf/error_codes.pb.h"
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| compilation terminated.
| make[2]: *** [CMakeFiles/tf_test.dir/build.make:63:CMakeFiles/tf_test.dir/src/hello.cpp.o] 错误 1
| make[1]: *** [CMakeFiles/Makefile2:76:CMakeFiles/tf_test.dir/all] 错误 2
| make: *** [Makefile:84:all] 错误 2
+--------------------------------------------------------------------------------------------------------------------+
[ 50%] Building CXX object CMakeFiles/tf_test.dir/src/hello.cpp.o
| In file included from /home/rd/tensorflow-test-prog/src/hello.cpp:2:
| /home/rd/tensorflow/tensorflow/core/public/session.h:24:10: fatal error: tensorflow/core/framework/device_attributes.pb.h: 没有那个文件或目录
| 24 | #include "tensorflow/core/framework/device_attributes.pb.h"
| | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| compilation terminated.
| make[2]: *** [CMakeFiles/tf_test.dir/build.make:63:CMakeFiles/tf_test.dir/src/hello.cpp.o] 错误 1
| make[1]: *** [CMakeFiles/Makefile2:76:CMakeFiles/tf_test.dir/all] 错误 2
| make: *** [Makefile:84:all] 错误 2
+--------------------------------------------------------------------------------------------------------------------+
cd ~/tensorflow/bazel-bin/tensorflow
ln -s libtensorflow_framework.so.2.15.0 libtensorflow_framework.so
ln -s libtensorflow_framework.so.2.15.0 libtensorflow_framework.so.2
lrwxrwxrwx 1 rd rd 33 9月 6 16:43 libtensorflow_framework.so -> libtensorflow_framework.so.2.15.0
lrwxrwxrwx 1 rd rd 33 9月 6 16:43 libtensorflow_framework.so.2 -> libtensorflow_framework.so.2.15.0
+--------------------------------------------------solve compile error ----------------------------------------------+
| -- Build files have been written to: /home/rd/tensorflow-test-prog
| [ 50%] Building CXX object CMakeFiles/tf_test.dir/src/hello.cpp.o
| [100%] Linking CXX executable tf_test
| /usr/bin/ld: 找不到 -ltensorflow_framework
| collect2: error: ld returned 1 exit status
| make[2]: *** [CMakeFiles/tf_test.dir/build.make:84:tf_test] 错误 1
| make[1]: *** [CMakeFiles/Makefile2:76:CMakeFiles/tf_test.dir/all] 错误 2
| make: *** [Makefile:84:all] 错误 2s
+--------------------------------------------------------------------------------------------------------------------+