一、关于时间
1、获得当前时间
from time import strftime,localtime
time.time() # 获得时间戳
2、获得当前时间
# 获得当前时间
strftime("%Y-%m-%d %H:%M:%S", localtime())
3、获得时间差
import datetime
starttime = datetime.datetime.now()
endtime = datetime.datetime.now()
duringtime = endtime - starttime
print duringtime.seconds
二、文件夹是否存在
如果文件夹存在,则忽视;如果文件夹不存在,则创建文件夹
if not os.path.exists('log_save_model'):
os.mkdir('log_save_model')
三、pytorch模型存和取
1、保存模型
torch.save(self.model.state_dict(),地址)
2、载入模型
self.model.load_state_dict(torch.load("地址"))
四、格式化输出
python
print("log_save_model/{}/{}-{}-{}-{}-{}-{:.4f}-{:.4f}.pkl".format(self.opt.des,
self.opt.model_name,
self.opt.dataset,
self.opt.seed,
self.opt.batch_size,
self.opt.learning_rate,
max_val_f1,max_val_acc)))
五、NLP词性还原
# 引用库
import nltk
from nltk.stem import WordNetLemmatizer
from nltk.corpus import wordnet
# 获取单词的词性
def get_wordnet_pos(tag):
if tag.startswith('J'):
return wordnet.ADJ
elif tag.startswith('V'):
return wordnet.VERB
elif tag.startswith('N'):
return wordnet.NOUN
elif tag.startswith('R'):
return wordnet.ADV
else:
return None
# 词性还原
lemmas_sent = []
for tag in text.split():
wordnet_pos = get_wordnet_pos(tag) or wordnet.NOUN
lemmas_sent.append(lemmatizer.lemmatize(tag, pos=wordnet_pos)) # 词形还原
展示如例如:foods =>food
"ate”=>"eat"
等