1. 程式人生 > 程式設計 >基於Python的身份證驗證識別和資料處理詳解

基於Python的身份證驗證識別和資料處理詳解

根據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",help="The config json file corresponding to the pre-trained BERT model. \n"
  "This specifies the model architecture.",)
 parser.add_argument(
  "--pytorch_dump_path",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 身份驗證識別內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!