摘要示例
在这里您可以看到一个示例,它说明了narchi提供的功能。这个例子
是针对在torchvision中实现的resnet18,尽管在头脑中
narchi的潜力在于网络架构的易配置性,而不是
现有架构的重新实现。在
从体系结构文件实例化pytorch模块可以很容易地完成如下操作
跟随。在
fromnarchi.instantiators.pytorchimportStandardModulemodule=StandardModule('resnet.jsonnet',state_dict='resnet18-5c106cde.pth',cfg={'ext_vars':{"num_blocks":[2,2,2,2]}})
创建体系结构图需要一个命令,如下所示。在
^{pr2}$
下面您可以看到
resnet18的第一个下采样层。在
json中生成架构上一部分的部分
图如下所示。请注意,不包括形状信息,
因为这些都是自动导出的。在
{"_class":"Sequential","_id":"layer2","blocks":[{"_class":"Group","_name":"ResBlock","blocks":[{"_class":"Identity","_id":"ident"},{"_class":"Conv2d","_id":"conv1","bias":false,"dilation":1,"kernel_size":3,"output_size":128,"padding":1,"stride":2},{"_class":"BatchNorm2d","_id":"bn1"},{"_class":"Sequential","_id":"downsample","blocks":[{"_class":"Conv2d","bias":false,"kernel_size":1,"output_size":128,"padding":0,"stride":2},{"_class":"BatchNorm2d"}]},{"...":"..."}],"graph":["ident -> conv1 -> bn1 -> relu1 -> conv2 -> bn2 -> add -> relu2","ident -> downsample -> add"],"input":"ident","output":"relu2"}]}