ubuntu18.04docker宿主机访问docker内部服务

sudo docker rm $(docker ps -aq)

1-docker容器启动的时候,需要把服务绑定的docker内部端口映射到宿主机的端口

sudo nvidia-docker run -it -p 1022:22 -p 1998:1998 -v /home/crnn/OCR_date:/data --entrypoint=/bin/bash registry.baidubce.com/paddlepaddle/serving:0.9.1

1998端口是服务端
22端口是连pycharm
2-宿主机通过本机端口就可以访问docker内部的服务端

url = "http://127.0.0.1:1998/ocr/prediction"
# Copyright (c) 2020 PaddlePaddle Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#import numpy as np
import requests
import json
import base64
import os

import argparse
parser = argparse.ArgumentParser(description="args for paddleserving")
parser.add_argument("--image_dir", type=str, default="./imgs1/")
args = parser.parse_args()


def cv2_to_base64(image):
    return base64.b64encode(image).decode('utf8')


#url = "http://127.0.0.1:1998/ocr/prediction"
url = "http://127.0.0.1:1998/ocr/prediction"
test_img_dir = args.image_dir

for idx, img_file in enumerate(os.listdir(test_img_dir)):
    with open(os.path.join(test_img_dir, img_file), 'rb') as file:
        image_data1 = file.read()
    # print file name
    print('{}{}{}'.format('*' * 10, img_file, '*' * 10))

    image = cv2_to_base64(image_data1)

    data = {"key": ["image"], "value": [image]}
    r = requests.post(url=url, data=json.dumps(data))
    result = r.json()
    print("erro_no:{}, err_msg:{}".format(result["err_no"], result["err_msg"]))
    # check success
    if result["err_no"] == 0:
        ocr_result = result["value"][0]
        try:
            for item in eval(ocr_result):
                # return transcription and points
                print("{}, {}".format(item[0], item[1]))
        except Exception as e:
            print("No results")
            continue

    else:
        print(
            "For details about error message, see PipelineServingLogs/pipeline.log"
        )
print("==> total number of test imgs: ", len(os.listdir(test_img_dir)))

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值