RedisAI / RedisAI

A Redis module for serving tensors and executing deep learning graphs
https://redisai.io
Other
821 stars 106 forks source link

Cannot load TF backend on ARMv7 #225

Open danielpetho opened 5 years ago

danielpetho commented 5 years ago

Hi!

I'm experiencing the following issue on raspbian 10 & armv7:

log of the server:

`1:M 19 Sep 2019 12:27:50.513 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 1:M 19 Sep 2019 12:27:50.513 # Server initialized 1:M 19 Sep 2019 12:27:50.513 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect. 1:M 19 Sep 2019 12:27:50.538 Module 'ai' loaded from /usr/lib/redis/modules/redisai.so 1:M 19 Sep 2019 12:27:50.550 Module 'timeseries' loaded from /usr/lib/redis/modules/redistimeseries.so 1:M 19 Sep 2019 12:27:50.686 RedisGears version 99.99.99, git_sha=a560de446e20f95e493218270523334b6fe021c0 1:M 19 Sep 2019 12:27:50.687 PythonHomeDir:/opt/redislabs/lib/modules/python3 1:M 19 Sep 2019 12:27:50.687 MaxExecutions:1000 1:M 19 Sep 2019 12:27:50.687 ProfileExecutions:0 1:M 19 Sep 2019 12:27:50.687 PythonAttemptTraceback:1 1:M 19 Sep 2019 12:27:50.687 RedisAI api loaded successfully. could not initialize RediSearch_CheckApiVersionCompatibility 1:M 19 Sep 2019 12:27:50.687 # could not initialize RediSearch api, running without Search support. 1:M 19 Sep 2019 12:27:51.172 Initializing Python environment with: exec(open('/opt/redislabs/lib/modules/python3/.venv/bin/activate_this.py').read(), {'file': '/opt/redislabs/lib/modules/python3/.venv/bin/activate_this.py'}) 1:M 19 Sep 2019 12:27:52.212 Module 'rg' loaded from /usr/lib/redis/modules/redisgears.so 1:M 19 Sep 2019 12:27:52.212 * Ready to accept connections 1:M 19 Sep 2019 12:28:14.133 # Backend TF not loaded, will try loading default backend

1:M 19 Sep 2019 12:28:14.158 # Could not load TF backend from /usr/lib/redis/modules/backends/redisai_tensorflow/redisai_tensorflow.so: libtensorflow.so.1: cannot open shared object file: No such file or directory `

-----------------------------------------------------------------------------------

The dockerfile:

`#BUILD redisfab/redisedge-${OSNICK}:M.m.b-${ARCH}

OSNICK=stretch|bionic|buster

ARG OSNICK=buster

ARG ARCH=arm64v8|arm32v7

ARG ARCH=arm32v7

----------------------------------------------------------------------------------------------

FROM redisfab/redisai-cpu-${OSNICK}:0.3.1-${ARCH} as ai FROM redisfab/redistimeseries-${OSNICK}:1.0.2-${ARCH} as timeseries FROM redisfab/redisgears-${OSNICK}:0.3.1-${ARCH} as gears

----------------------------------------------------------------------------------------------

FROM redisfab/redis-${ARCH}-${OSNICK}-xbuild:5.0.5

RUN set -e ;\ apt-get -qq update; apt-get -q install -y libgomp1

ENV LIBDIR /usr/lib/redis/modules ENV LD_LIBRARY_PATH $LIBDIR WORKDIR /data RUN mkdir -p ${LIBDIR}

COPY --from=timeseries ${LIBDIR}/*.so ${LIBDIR}/ COPY --from=ai ${LIBDIR}/ ${LIBDIR}/ COPY --from=gears /opt/redislabs/lib/modules/redisgears.so ${LIBDIR}/ COPY --from=gears /opt/redislabs/ /opt/redislabs/

ADD redisedge.conf /etc CMD ["/etc/redisedge.conf"]`

----------------------------------------------------------------------

After ssh into the container and list the files in the /usr/lib/redis/modules dir:

`root@9cf552ec136f:/# ls -R /usr/lib/redis /usr/lib/redis: modules

/usr/lib/redis/modules: backends redisai.so redisgears.so redistimeseries.so

/usr/lib/redis/modules/backends: redisai_tensorflow

/usr/lib/redis/modules/backends/redisai_tensorflow: lib redisai_tensorflow.so

/usr/lib/redis/modules/backends/redisai_tensorflow/lib: libtensorflow.so libtensorflow.so.1.14.0 libtensorflow_framework.so.1 libtensorflow.so.1 libtensorflow_framework.so libtensorflow_framework.so.1.14.0 `

lantiga commented 5 years ago

/cc @rafie