You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Octobrist a20b96a4e6 修改了readme文件,写一些实现的思路以及注意点。 6 months ago
CodeExtractor 修改了readme文件,写一些实现的思路以及注意点。 6 months ago
Crawler 初始化了项目爬取代码和基于AST的代码提取方法 6 months ago
repos 添加新的项目例子 6 months ago
.gitignore Initial commit 6 months ago
LICENSE Initial commit 6 months ago
README.md 修改了readme文件,写一些实现的思路以及注意点。 6 months ago

README.md

Evolution-analysis-of-DL-model-for-SAR-image-processing

This is an analysis about the evolution of DL model based on the community data of Github. The application scenario of all models is the analysis of synthetic aperture images.

当前的思路梳理 (2022.3.15):

目的:

我们想要在执行训练的py文件内,提取出预训练模型。即找到创建的预训练模型的变量,并保存

算法设想

找到调用某函数的地方

​ 如果是在类定义的函数内容里:

  • 向上抽取变量语句,直到所有的非类变量都被抽完(类变量一直保存),记录函数名称

  • 在类定义的函数中查找调用,通过上一个函数中保存的类变量里继续抽取函数,直到所有的非类变量被抽完

  • 如果有语句改变self本身,也需要加以判断

  • 最终,在其他地方查找所有调用这些类函数的情况

    如果是在函数的定义里:

  • 找参数保存语句,查找向上查找变量调用

  • 在其他地方查找所有调用这些函数的地方的

    如果是在函数执行里:

  • 向上查找变量保存语句

实现:

一.先保存所有文件的类名和函数名,import的情况,类定义范围,类函数定义范围,非类函数定义范围

二.然后再遍历一遍文件,修改tree,将所有调用本文件下类函数和调用import的函数、类的情况改为项目下路径的名称(a.b.c.d,其中d是函数或者类名, a.b.c是项目下模块)

问题 :
  • 无法扫描函数(类)中再定义函数(类)的情况
  • import 存在两种情况,第一种是在此文件目录下直接import,第二种是在项目目录下,相对import。遇到sys.path.append,还要添加import的路径
  • 对于创建一个类实例,在调用这个类的类函数的情况。如果是按从上到下的顺序,一个作用域的情况,可以识别调用的函数。
  • 如果在不同的作用域,如某一个作用域将a创建为b的一个对象,a=b(),调用a.c(),可以识别调用的是b类中的c函数。如果下一作用域没有将a创建为b的一个对象,但是存在a.d()的情况,会判断是否调用了b类中的d函数
  • 另外,如果是将这个类实例传入函数,则无法判断其在函数中调用类函数的情况
  • 可能存在变量和函数名重名的情况,(可以尝试用visit_call来区分,到那时这样对传递类的构造函数的情况无法识别)

三.生成调用函数图:

判断情况:处于类的函数定义里,处于类外函数定义里,处于代码执行处
生成调用图,从代码执行处出发查找所有被调用的函数,如果函数中含有torch.optim.xxx,则记录该子图

注意点:

  • 1.同一逻辑关系下, 分为4个部分:import;类定义内容;函数定义内容;执行主体(包括声明类,和声明函数)
  • 2.搞清内部的逻辑关系,在同一逻辑关系下提取变量,暂且用缩进表示逻辑关系(if else,for 等)
  • 3.在函数定义里时,要判断变量是否为函数的参数,是的话则不用查词变量的应用情况
  • 4.变量要提取变量的真实名字,如arg.xx变量应该是arg

简介

This is an analysis about the evolution of DL model based on the community data of Github. The application scenario of all models is the analysis of synthetic aperture images.

CSV Python Text SVG

MIT

贡献者 (1)