基于Python的身份证验证识别和数据处理详解
2020-11-18 04:06
1116 查看
根据GB11643-1999公民身份证号码是特征组合码,由十七位数字本体码和一位数字校验码组成,排列顺序从左至右依次为:
六位数字地址码八位数字出生日期码三位数字顺序码一位数字校验码(数字10用罗马X表示)
校验系统:
校验码采用ISO7064:1983,MOD11-2校验码系统(图为校验规则样例)
用身份证号的前17位的每一位号码字符值分别乘上对应的加权因子值,得到的结果求和后对11进行取余,最后的结果放到表2检验码字符值..换算关系表中得出最后的一位身份证号码
代码:
# coding=utf-8 # Copyright 2018 The HuggingFace Inc. team. # # 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. """Convert BERT checkpoint.""" import argparse import torch from transformers import BertConfig, BertForPreTraining, load_tf_weights_in_bert from transformers.utils import logging logging.set_verbosity_info() def convert_tf_checkpoint_to_pytorch(tf_checkpoint_path, bert_config_file, pytorch_dump_path): # Initialise PyTorch model config = BertConfig.from_json_file(bert_config_file) print("Building PyTorch model from configuration: {}".format(str(config))) model = BertForPreTraining(config) # Load weights from tf checkpoint load_tf_weights_in_bert(model, config, tf_checkpoint_path) # Save pytorch-model print("Save PyTorch model to {}".format(pytorch_dump_path)) torch.save(model.state_dict(), pytorch_dump_path) if __name__ == "__main__": parser = argparse.ArgumentParser() # Required parameters parser.add_argument( "--tf_checkpoint_path", default=None, type=str, required=True, help="Path to the TensorFlow checkpoint path." ) parser.add_argument( "--bert_config_file", default=None, type=str, required=True, help="The config json file corresponding to the pre-trained BERT model. \n" "This specifies the model architecture.", ) parser.add_argument( "--pytorch_dump_path", default=None, type=str, required=True, help="Path to the output PyTorch model." ) args = parser.parse_args() convert_tf_checkpoint_to_pytorch(args.tf_checkpoint_path, args.bert_config_file, args.pytorch_dump_path)
到此这篇关于基于Python的身份证验证识别和数据处理详解的文章就介绍到这了,更多相关python 身份验证识别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:相关文章推荐
- Python基于Opencv来快速实现人脸识别过程详解(完整版)
- 【人脸识别】人脸验证算法Joint Bayesian详解及实现(Python版)
- 基于python的使用验证码识别技术(py3 可用)
- Python实现字符型图片验证码识别完整过程详解
- Python实现基于KNN算法的笔迹识别功能详解
- 【人脸识别】人脸验证算法Joint Bayesian详解及实现(Python版)
- Python基于OpenCV库Adaboost实现人脸识别功能详解
- Python基于内置库pytesseract实现图片验证码识别功能
- 基于python爬虫数据处理(详解)
- 【人脸识别】人脸验证算法Joint Bayesian详解及实现(Python版)
- Python完全识别验证码自动登录实例详解
- python爬虫 基于requests模块的get请求实现详解
- 基于 Python + LeanCloud 的短信验证
- python实现简单验证身份证号码合法性
- python爬虫教程:基于Python的Post请求数据爬取的方法详解
- [置顶] 谣言识别系统(Python):爬虫(bs+rq)+数据处理(jieba分词)+分类器(贝叶斯)
- python3 + pytesser3 识别验证码过程中‘gbk'’编码问题的解决
- 基于python/opencv/tesseract使用传统方法的,表格图片版面分析以及印刷体汉字识别(持续更新,学习备份用)
- 基于C#技术实现身份证识别功能
- 基于python实现雪花算法过程详解