1、python中的特殊方法 __getitem__()读取数据:
2、pytorch 的 re 模块的group函数
函数 group(1)的理解:
a、问题: Python re模块中的group( )方法 (douban.com)
解答:后面的几个字母均匹配了,相当于重复匹配,group(1)虽然是匹配的,的第一个式子,但是这里c3相当于重复匹配后的第一个式子,因此输出c3
b、
1、print时候需要按照指定格式输出:
print('ref_id%s: [pred]%s, [gd]%s' % \
(ref_id, ' '.join(entry['pred_att_wds']), ' '.join(entry['gd_att_wds'])))
这段为复现代码Mattnet时候的打印输出,第一行为想要输出的格式,第二行是输出的具体变量内容。第一行后面的 % 是指后面内容按照前面指定格式输出,\ 是换行符号,因为第二行输出不只一个变量,要用()将第二行输出变量括起来。
2、文件写入:先用 open函数 以“a” 形式(追写在文件已有内容后面)打开文件,再执行f.write(),这里格式其实和print格式要求差不多,但是想要在某处换行,则在里面加入“\r\n”,如下图第一行所示。而print直接加入“\n”即可。
f = open('/home/wj/code/MAttNet_master/experiments/easy_results_attr.txt', 'a')
f.write('[%s]: ref_id%s: [pred]%s, [gd]%s \r\n' % \
(split,ref_id, ' '.join(entry['pred_att_wds']), ' '.join(entry['gd_att_wds'])))
3、pytorch打印tensor的维度,其中var是pytorch中的tensor变量
shape= var.size()