from io importopenimport glob
import os
import string
import unicodedata
import random
import time
import math
import torch
import torch.nn as nn
import matplotlib.pyplot as plt
# 去掉一些语言中的重音标记# 如: Ślusàrski ---> SlusarskidefunicodeToAscii(s):ascii=''.join(# NFD会将每个字符分解为其基本字符和组合标记,Ś会拆分为音掉和S#'Mn'这类字符通常用于表示重音符号、音调符号等
c for c in unicodedata.normalize('NFD',s)if unicodedata.category(c)!='Mn'and c in all_letters
)returnascii
1.2 读取数据
# 读取数据
data_path ="./data/names/"defreadLines(filename):
lines =open(filename,encoding='utf-8').read().strip().split('\n')return[unicodeToAscii(line)for line in lines]