【发布时间】:2022-08-14 22:30:17
【问题描述】:
我目前正在分析数百个代码存储库,以识别 ML 算法的参数设置。在这方面,我想知道是否可以使用静态分析提取使用 Tensorflow 和 Pytorch 构建的神经网络的架构?
为了澄清我的问题,请考虑使用 TF 和 Pytorch 开发神经网络。通常,模型是通过实现从 TF 或 Pytorch 继承的类来创建的。在类中,指定了架构(例如,层)。例如,请参阅下面的代码片段:
import torch
import torch.nn as nn
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.conv1 = nn.Conv2d(1, 6, 5)
self.conv2 = nn.Conv2d(6, 16, 5)
self.fc1 = nn.Linear(16 * 5 * 5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)
我想知道是否可以使用静态分析提取架构。 TF 提供了一个名为 summary() 的函数,它打印网络的摘要,包括其层、输出形状和参数数量。这正是我想通过静态分析提取的内容。使用静态分析的基本原理是我分析了数百个代码存储库,因此为每个存储库运行代码是不可行的。
标签: tensorflow neural-network pytorch static-analysis