FROM redislabs/redisai:edge-gpu-bionic as redisai
FROM redislabs/redistimeseries:edge as redistimeseries
FROM redislabs/redisgears:edge
ENV LD_LIBRARY_PATH=/usr/lib/redis/modules
ARG MODULES=/var/opt/redislabs/lib/modules
ARG RG=${MODULES}/redisgears.so
ARG REDIS="redis-server --loadmodule ${RG} Plugin /var/opt/redislabs/modules/rg/plugin/gears_python.so"
ARG REQ="numpy \
Pillow \
opencv-python-headless"
# opencv-python-headless是没有GUI功能的opencv
# Set up a build environment
WORKDIR /data
RUN set -ex;\
apt-get update;
# Copy RedisTimeSeries
COPY --from=redistimeseries ${LD_LIBRARY_PATH}/*.so ${LD_LIBRARY_PATH}/
# Copy RedisAI
COPY --from=redisai ${LD_LIBRARY_PATH}/redisai.so ${LD_LIBRARY_PATH}/
COPY --from=redisai ${LD_LIBRARY_PATH}/backends ${LD_LIBRARY_PATH}/backends
# Start Redis and install Deps
RUN nohup bash -c "${REDIS}&" && sleep 4 && redis-cli RG.PYEXECUTE "import cv2; GearsBuilder().run()" REQUIREMENTS $REQ \
&& redis-cli save
ENTRYPOINT ["redis-server"]
CMD ["--loadmodule", "/usr/lib/redis/modules/redistimeseries.so", \
"--loadmodule", "/usr/lib/redis/modules/redisai.so", \
"--loadmodule", "/var/opt/redislabs/lib/modules/redisgears.so", \
"Plugin", "/var/opt/redislabs/modules/rg/plugin/gears_python.so"]
redisedge-init-1 | Loading model - Traceback (most recent call last):
redisedge-init-1 | File "init.py", line 35, in <module>
redisedge-init-1 | res = conn.execute_command('AI.MODELSET', 'yolo:model', 'TF', args.device, 'INPUTS', 'input', 'OUTPUTS', 'output', 'BLOB', model)
redisedge-init-1 | File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 775, in execute_command
redisedge-init-1 | return self.parse_response(connection, command_name, **options)
redisedge-init-1 | File "/usr/local/lib/python3.7/site-packages/redis/client.py", line 789, in parse_response
redisedge-init-1 | response = connection.read_response()
redisedge-init-1 | File "/usr/local/lib/python3.7/site-packages/redis/connection.py", line 642, in read_response
redisedge-init-1 | raise response
redisedge-init-1 | redis.exceptions.ResponseError: GPU requested but TF couldn't find CUDA