diff/find解决版本差异

这几天在模型评估的过程中,发现inference和自带evaluate得到的AP/MAP值不吻合,后来更新了一下库就达到吻合了,推测可能是新旧版本更新导致的,但是具体是哪些代码导致了这问题,还需要进一步探究
所以引出这次的杂谈

diff

第一步
获取当前版本和之前版本的版本号
可以进入当前目录下,输入命令git log
如果代码是从GitHub上获取的,可以去GitHub上的commits查找

第二步
diff命令(版本号)
1.修改记录查询
git diff id1 id2

输出分析

2.修改文件查询
git diff id1 id2 --star

输出分析

diff命令(日志)
1.文件比较
diff log1.log log2.log

并排格式输出
diff log2019.log log2020.log -y -W 50
输出说明:
“|”表示前后2个文件内容有不同
“<”表示后面文件比前面文件少了1行内容
“>”表示后面文件比前面文件多了1行内容

上下文输出格式
diff log2019.log log2020.log -c
输出说明:
“+” 比较的文件的后者比前着多一行
“-” 比较的文件的后者比前着少一行
“!” 比较的文件两者有差别的行

统一格式输出
diff log19.log log20.log -u
说明:
第一部分
"—“表示变动前的文件,”+++“表示变动后的文件。
第二部分,变动的位置用两个@作为起首和结束。
   @@ -1,12 +1,10 @@
前面的”-1,12"分成三个部分:减号表示第一个文件(即log19.log),"1"表示第1行,“12"表示连续12行。合在一起,就表示下面是第一个文件从第1行开始的连续12行。同样的,”+1,10"表示变动后,成为第二个文件从第1行开始的连续10行。

find

但是很多时候diff出来的结果并不能直接显示出问题所在,可能在导入的模块版本存在差异,这个时候,想到的就是find了,查找一下模块所在的地址,更快的找到问题

按搜索条件找
find /…/… -name ‘filename’

一下就可以get到地址,百试不爽。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章