我在使用docker镜像tensorflow/serving:1.13.0在云端部署模型时遇到了这个问题。但在我的本地系统上运行得很完美。
这是云系统上的实际日志:
/usr/bin/tf_serving_entrypoint.sh: 第3行: 6 非法指令 (核心已转储) tensorflow_model_server --port=8500 --rest_api_port=8501 --model_name=${MODEL_NAME} --model_base_path=${MODEL_BASE_PATH}/${MODEL_NAME} "$@"
我尝试使用tensorflow serving docker注册表中的各种镜像,但都无效。
这是我的docker-compose文件结构。以及挂载文件结构。挂载文件夹的结构
tensorflow:image: tensorflow/serving:1.13.0container_name: tensorflowenvironment: - MODEL_NAME=testvolumes: - ./data_pipeline/machine_learning/models/v1/:/models/test/1ports: - 8501:8501
我期望得到以下结果,这将允许我们使用正在服务的模型来获取结果。这些是我在容器运行时获得的日志。
2019-05-08 06:31:31.357564: I tensorflow_serving/model_servers/server.cc:82] 构建单个TensorFlow模型文件配置: model_name: test model_base_path: /models/test2019-05-08 06:31:31.388148: I tensorflow_serving/model_servers/server_core.cc:461] 正在添加/更新模型。2019-05-08 06:31:31.388179: I tensorflow_serving/model_servers/server_core.cc:558] (重新-)添加模型: test2019-05-08 06:31:31.496616: I tensorflow_serving/core/basic_manager.cc:739] 成功预留资源以加载可服务的 {name: test version: 1}2019-05-08 06:31:31.496640: I tensorflow_serving/core/loader_harness.cc:66] 批准加载可服务的版本 {name: test version: 1}2019-05-08 06:31:31.496651: I tensorflow_serving/core/loader_harness.cc:74] 正在加载可服务的版本 {name: test version: 1}2019-05-08 06:31:31.496663: I external/org_tensorflow/tensorflow/contrib/session_bundle/bundle_shim.cc:363] 尝试从: /models/test/1加载本机SavedModelBundle2019-05-08 06:31:31.496669: I external/org_tensorflow/tensorflow/cc/saved_model/reader.cc:31] 从: /models/test/1读取SavedModel2019-05-08 06:31:31.600082: I external/org_tensorflow/tensorflow/cc/saved_model/reader.cc:54] 读取带有标签的元图 { serve }2019-05-08 06:31:31.626460: I external/org_tensorflow/tensorflow/core/platform/cpu_feature_guard.cc:141] 您的CPU支持此TensorFlow二进制文件未编译使用的指令: AVX2 FMA2019-05-08 06:31:31.657342: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:182] 正在恢复SavedModel捆绑包。2019-05-08 06:31:31.863963: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:285] 加载带有标签的SavedModel { serve }; 状态: 成功。耗时367280微秒。2019-05-08 06:31:31.864020: I tensorflow_serving/servables/tensorflow/saved_model_warmup.cc:101] 在/models/test/1/assets.extra/tf_serving_warmup_requests未找到预热数据文件2019-05-08 06:31:31.864115: I tensorflow_serving/core/loader_harness.cc:86] 成功加载可服务的版本 {name: test version: 1}2019-05-08 06:31:31.875615: I tensorflow_serving/model_servers/server.cc:313] 在0.0.0.0:8500运行gRPC ModelServer ...[warn] getaddrinfo: 不支持节点名的地址族2019-05-08 06:31:31.883332: I tensorflow_serving/model_servers/server.cc:333] 在:localhost:8501导出HTTP/REST API ...[evhttp_server.cc : 237] RAW: 进入事件循环 ...
有人能帮我解决这个问题吗?
回答:
我通过为我正在使用的CPU构建二进制文件解决了这个错误。
我从这个链接构建了二进制文件。 使用docker从源代码构建tensorflow-serving
我已将我的镜像推送到dockerhub仓库。如果有人不想构建与我的CPU配置相同的镜像,可以使用这些镜像。