基于Python的身份证验证识别和数据处理详解


Posted in Python onNovember 14, 2020

根据GB11643-1999公民身份证号码是特征组合码,由十七位数字本体码和一位数字校验码组成,排列顺序从左至右依次为:

六位数字地址码八位数字出生日期码三位数字顺序码一位数字校验码(数字10用罗马X表示)

基于Python的身份证验证识别和数据处理详解

校验系统:

校验码采用ISO7064:1983,MOD11-2校验码系统(图为校验规则样例)

用身份证号的前17位的每一位号码字符值分别乘上对应的加权因子值,得到的结果求和后对11进行取余,最后的结果放到表2检验码字符值..换算关系表中得出最后的一位身份证号码

基于Python的身份证验证识别和数据处理详解

基于Python的身份证验证识别和数据处理详解

代码:

# 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 相关文章推荐
Python创建xml文件示例
Mar 22 Python
浅谈python 里面的单下划线与双下划线的区别
Dec 01 Python
Python反转序列的方法实例分析
Mar 21 Python
对python 匹配字符串开头和结尾的方法详解
Oct 27 Python
Python可变和不可变、类的私有属性实例分析
May 31 Python
Python + OpenCV 实现LBP特征提取的示例代码
Jul 11 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
Python列表切片常用操作实例解析
Mar 10 Python
解决django中form表单设置action后无法回到原页面的问题
Mar 13 Python
关于Django Models CharField 参数说明
Mar 31 Python
Jupyter notebook快速入门教程(推荐)
May 18 Python
matplotlib如何设置坐标轴刻度的个数及标签的方法总结
Jun 11 Python
Python join()函数原理及使用方法
Nov 14 #Python
详解pycharm连接远程linux服务器的虚拟环境的方法
Nov 13 #Python
利用python 下载bilibili视频
Nov 13 #Python
详解python polyscope库的安装和例程
Nov 13 #Python
python中的测试框架
Nov 13 #Python
Python加载数据的5种不同方式(收藏)
Nov 13 #Python
使用Python解析Chrome浏览器书签的示例
Nov 13 #Python
You might like
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
ThinkPHP中where()使用方法详解
2016/04/19 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
JavaScript Array扩展实现代码
2009/10/14 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
2012/10/11 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
2013/05/05 Javascript
基于SVG的web页面图形绘制API介绍及编程演示
2013/06/28 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
解析预加载显示图片艺术
2016/12/05 Javascript
Node.js中用D3.js的方法示例
2017/01/16 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
通过学习bootstrop导航条学会修改bootstrop颜色基调
2017/06/11 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
详解vue 模拟后台数据(加载本地json文件)调试
2017/08/25 Javascript
Node.js readline模块与util模块的使用
2018/03/01 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
基于JavaScript实现十五拼图代码实例
2020/04/26 Javascript
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
python爬虫超时的处理的实例
2018/12/19 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
2020/03/03 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
介绍一下linux的文件权限
2012/02/15 面试题
超市促销活动方案
2014/03/05 职场文书
办公用房租赁协议书
2014/11/29 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
行政处罚告知书
2015/07/01 职场文书
2015秋季开学演讲稿范文
2015/07/16 职场文书
《鸡兔同笼》教学反思
2016/02/19 职场文书
Apache Calcite 实现方言转换的代码
2021/04/24 Servers
python的netCDF4批量处理NC格式文件的操作方法
2022/03/21 Python