tensorflow模型java部署问碰到了坑,各种坑
来源:互联网 发布:杭州软件定制开发 编辑:程序博客网 时间:2024/06/04 13:35
吐槽下java部署cnn、rnn、lstm、bi-lstm相关模型的我是碰到了各种坑,相比之前部署xgboost采的坑还要多,记录下吧,这些底层还是要依赖于c++,java说白了只是个壳,没有真正实现Tensor、模型相关业务逻辑,下面看下吧。
查看各个版本的gcc版本的信息:
strings /lib64/libc.so.6 |grep GLIBC_ 查看版本中是否含有2.14、2.17的版本
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
部署过程会碰到 下面这两个问题
cal/tomcat/temp/libtensorflow_jni5656634183295359135.so: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/local/tomcat/temp/libtensorflow_jni5656634183295359135.so
.UnsatisfiedLinkError: /usr/local/tomcat/temp/libtensorflow_jni5135876021127552243.so: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by
用下面方法可以解决:
sudo wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
sudo tar -xvf glibc-2.17.tar.gz
cd glibc-2.17
sudo mkdir build
cd build
sudo ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
sudo make -j4
sudo make install
然后exit 重新登录
再部署还会可能碰到这个问题:
cal/tomcat/temp/libtensorflow_jni7225457145314151563.so: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by /usr/local/tomcat/temp/lib
strings /usr/lib64/libstdc++.so.6|grep GLIBCXX 查看3.x版本的GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
可以看到18、19之后的版本没有,解决办法安装最新的gcc6.x版本:
#!/bin/bash
yum -y install gcc g++
yum install gcc gcc-c++ kernel-devel
cd /data/
wget http://10.1.1.171/gcc-6.1.0.tar.bz2
tar -jxvf gcc-6.1.0.tar.bz2
cd gcc-6.1.0
./contrib/download_prerequisites
mkdir gcc-build-6.1.0
cd gcc-build-6.1.0
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make -j4
make install
cd stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/
cp libstdc++.so.6.0.22 /usr/lib64
cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.22 libstdc++.so.6
最后情况:
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_2.13
GLIBC_2.14
GLIBC_2.15
GLIBC_2.16
GLIBC_2.17
GLIBC_PRIVATE
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH
版本完善就可以正常的部署tensorflow训练的模型了,完成
阅读全文
0 0
- tensorflow模型java部署问碰到了坑,各种坑
- tensorflow 模型保存问
- java加载tensorflow训练好的模型部署成service
- git各种命令介绍以及碰到的各种坑
- JAVA版树莓派呼吸灯完整程序(PWM)及碰到的各种坑
- 嘿嘿,碰到了坑爹的题
- 看到有人去面试Java碰到问static的问题,到网上找了几个类似的问题,特此记录
- 今天碰到了 NaN 。(java)
- 终于碰到了java泛型
- Android Fragment解析以及Fragment中碰到的各种坑
- Tensorflow Serving 模型部署和服务
- tensorflow入门8 模型部署1
- tensorflow入门9 模型部署2
- Docker使用tensorflow serving部署mnist模型
- win10安装tensorflow-gpu版本各种坑
- TensorFlow模型保存的一个坑
- 用tensorflow改写个网络碰到的各种异常问题(数据集cifar)
- Win10下基于Docker使用tensorflow serving部署模型
- C# 枚举
- Charles的配置及使用小结
- Linxu学习笔记
- Android图像处理技巧理论
- RHEL7.3 安装ceph
- tensorflow模型java部署问碰到了坑,各种坑
- 量子纠缠——上帝掷骰子吗
- Android图像处理技巧实例
- Android动画机制与使用技巧
- linux 网桥接收处理流程
- 庆科信息&阿里云IoT“破局”大赛15强出炉!
- python 学习笔记 第二篇:python如何连接mysql数据库
- css爱心
- VS2010 vb.net中SQL文模糊查询的写法