使用paddle进行身份证识别用到的脚本

飞桨PaddlePaddle-源于产业实践的开源深度学习平台 

飞桨PaddlePaddle-源于产业实践的开源深度学习平台 

pip3 install numpy
sudo pip3 install matplotlib
sudo pip3 install opencv-python

 wget https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/9c/6f/220c45977e6f85cbe63cd978c5cb774aa7c71ef9fb52b45f69c2611af010/opencv_python-4.1.2.30-cp38-cp38-manylinux1_x86_64.whl#sha256=5fec35916a6b9ce935f2e2806084303fd4e3fbb0c973a8db8f54b5aca54613cb


pip install opencv_python-4.1.2.30-cp38-cp38-manylinux1_x86_64.whl



#查看cv版本
python3
import cv2
cv2.__version__

执行一遍,一条条试)

当遇到缺少依赖包的时候,就查找下依赖包名称,然后安装即可。
ImportError: libSM.so.6: cannot open shared object file: No such file or dir

yum whatprovides libSM.so.6

yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false -y






yum whatprovides libXrender.so.1
yum install libXrender-0.9.10-1.el7.x86_64 --setopt=protected_multilib=false -y






yum whatprovides libXext.so.6
yum install libXext-1.3.3-3.el7.x86_64 --setopt=protected_multilib=false -y











yum whatprovides libXrender.so.1
yum install libXrender-0.9.10-1.el7.x86_64 --setopt=protected_multilib=false -y






yum whatprovides libXrender.so.1
yum install libXrender-0.9.10-1.el7.x86_64 --setopt=protected_multilib=false -y







# 在终端中输入以下命令:
cd ~
mkdir style_transfer
cd style_transfer



 hub install chinese_ocr_db_crnn_server==1.2.0

pip install shapely pyclipper


测试代码:
hub run chinese_ocr_db_crnn_server --input_path "/root/image/1.png"


hub run chinese_ocr_db_crnn_server --input_path "/PATH/TO/IMAGE"




vim /root/.paddlehub/modules/chinese_ocr_db_crnn_mobile/module.py



conda activate paddle_env





import requests
import json
import cv2
import base64

def cv2_to_base64(image):
    data = cv2.imencode('.png', image)[1]
    return base64.b64encode(data.tostring()).decode('utf8')

# 发送HTTP请求
data = {'images':[cv2_to_base64(cv2.imread("/root/image/1.png"))]}
headers = {"Content-type": "application/json"}
url = "http://127.0.0.1:8866/predict/chinese_ocr_db_crnn_server"
r = requests.post(url=url, headers=headers, data=json.dumps(data))

# 打印预测结果
print(r.json()["results"])








  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用PaddlePaddle进行数字识别可以通过以下步骤实现: 1. 准备数据集。数字识别的数据集通常是手写数字的图片数据集,如MNIST。可以使用PaddlePaddle提供的数据集或自己制作数据集。 2. 搭建模型。可以使用PaddlePaddle提供的预训练模型或自己设计模型,常见的模型有卷积神经网络(CNN)和循环神经网络(RNN)等。 3. 训练模型。使用PaddlePaddle提供的训练工具进行模型训练,调整超参数等。 4. 预测数据。使用训练好的模型对新的手写数字图片进行预测,得到识别结果。 下面是一个使用PaddlePaddle进行数字识别的示例代码: ```python import paddle from paddle.vision.transforms import ToTensor from paddle.vision.datasets import MNIST # 加载数据集 train_dataset = MNIST(mode='train', transform=ToTensor()) test_dataset = MNIST(mode='test', transform=ToTensor()) # 定义模型 model = paddle.nn.Sequential( paddle.nn.Flatten(), paddle.nn.Linear(784, 10), paddle.nn.Softmax() ) # 定义优化器和损失函数 optimizer = paddle.optimizer.Adam(learning_rate=0.001, parameters=model.parameters()) loss_fn = paddle.nn.CrossEntropyLoss() # 定义训练函数 def train(model, optimizer, loss_fn, train_loader): model.train() for batch_id, data in enumerate(train_loader()): x_data = data[0] y_data = data[1] y_pred = model(x_data) loss = loss_fn(y_pred, y_data) if batch_id % 100 == 0: print("batch_id: {}, loss is: {}".format(batch_id, loss.numpy())) loss.backward() optimizer.step() optimizer.clear_grad() # 定义测试函数 def test(model, test_loader): model.eval() correct = 0 total = 0 for batch_id, data in enumerate(test_loader()): x_data = data[0] y_data = data[1] y_pred = model(x_data) pred = paddle.argmax(y_pred, axis=1) correct += (pred.numpy() == y_data.numpy()).astype(int).sum() total += y_data.shape[0] acc = correct / total print("test acc: {}".format(acc)) # 训练模型 train_loader = paddle.io.DataLoader(train_dataset, batch_size=64, shuffle=True) test_loader = paddle.io.DataLoader(test_dataset, batch_size=64, shuffle=False) for epoch in range(10): train(model, optimizer, loss_fn, train_loader) test(model, test_loader) ``` 在这个示例代码中,我们使用PaddlePaddle提供的MNIST数据集进行数字识别,使用了一个简单的全连接神经网络模型,并使用Adam优化器和交叉熵损失函数进行训练,最终得到了不错的识别效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值