inspector / ir /artifacts /focalnet.json
lysandre's picture
lysandre HF Staff
Deploy architecture inspector
32d8c58 verified
Raw
History Blame Contribute Delete
10.5 kB
{
"architecture": {
"family": "image_classification",
"is_moe": false,
"view": "encoder"
},
"capabilities": {
"task_heads": [
"backbone",
"image",
"image_classification",
"masked_image_modeling"
],
"tensor_parallel": false
},
"components": [
{
"children": [
"embeddings",
"encoder",
"layernorm",
"pooler"
],
"class_name": "FocalNetModel",
"id": "model",
"kind": "model",
"path_pattern": "model"
},
{
"attributes": {},
"children": [
"embeddings.patch_embeddings",
"embeddings.norm"
],
"class_name": "FocalNetEmbeddings",
"id": "embeddings",
"kind": "embedding",
"path_pattern": "model.embeddings"
},
{
"attributes": {},
"children": [
"embeddings.patch_embeddings.projection"
],
"class_name": "FocalNetPatchEmbeddings",
"id": "embeddings.patch_embeddings",
"kind": "embedding",
"path_pattern": "model.embeddings.patch_embeddings"
},
{
"class_name": "Conv2d",
"id": "embeddings.patch_embeddings.projection",
"kind": "convolution",
"path_pattern": "model.embeddings.patch_embeddings.projection"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "embeddings.norm",
"kind": "normalization",
"path_pattern": "model.embeddings.norm"
},
{
"children": [
"encoder_focal_net_stages"
],
"class_name": "FocalNetEncoder",
"id": "encoder",
"kind": "encoder",
"path_pattern": "model.encoder"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "layernorm",
"kind": "normalization",
"path_pattern": "model.layernorm"
},
{
"class_name": "AdaptiveAvgPool1d",
"id": "pooler",
"kind": "pooler",
"path_pattern": "model.pooler"
}
],
"config": {
"class_name": "FocalNetConfig",
"model_type": "focalnet",
"module": "transformers.models.focalnet.configuration_focalnet",
"referenced_fields": {
"depths": [
2,
2,
6,
2
]
},
"salient_fields": {
"hidden_act": "gelu",
"is_encoder_decoder": false
}
},
"dataflow": {
"input": {
"name": "pixel_values",
"shape": [
"B",
3,
224,
224
]
},
"output": {
"shape": [
"B",
49,
768
]
},
"shapes": {
"embeddings": {
"in": [
"B",
3,
224,
224
],
"out": [
"B",
3136,
96
]
},
"encoder": {
"in": [
"B",
3136,
96
],
"out": [
"B",
49,
768
]
},
"layernorm": {
"in": [
"B",
49,
768
],
"out": [
"B",
49,
768
]
},
"pooler": {
"in": [
"B",
768,
49
],
"out": [
"B",
768,
1
]
}
},
"source": "observed_forward_meta"
},
"edges": [
{
"kind": "data",
"source": "embeddings",
"target": "encoder"
},
{
"kind": "data",
"source": "encoder",
"target": "layernorm"
},
{
"kind": "data",
"source": "layernorm",
"target": "pooler"
},
{
"kind": "data",
"source": "embeddings.patch_embeddings",
"target": "embeddings.norm"
},
{
"kind": "data",
"source": "encoder_layers",
"target": "encoder_focal_net_stage.downsample"
},
{
"kind": "data",
"source": "encoder_layer.norm2",
"target": "encoder_layer.mlp"
},
{
"kind": "residual",
"source": "encoder_layer",
"target": "encoder_layer.mlp"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "encoder_layer.mlp",
"target": "encoder_layer.mlp.fc1"
},
{
"kind": "data",
"provenance": "intra_module",
"source": "encoder_layer.mlp.fc1",
"target": "encoder_layer.mlp.fc2"
}
],
"extends": null,
"model_type": "focalnet",
"provenance": {
"config_class": "FocalNetConfig",
"config_module": "transformers.models.focalnet.configuration_focalnet",
"model_class": "FocalNetModel",
"model_module": "transformers.models.focalnet.modeling_focalnet"
},
"repeats": [
{
"body": "encoder_focal_net_stage",
"container_path_pattern": "model.encoder.stages",
"count": 4,
"count_expr": "4",
"count_source": "module_tree",
"id": "encoder_focal_net_stages",
"index_symbol": "i",
"item_path_pattern": "model.encoder.stages.{i}",
"kind": "symbolic_repeat",
"provenance": {
"class_name": "FocalNetStage",
"container_path_pattern": "model.encoder.stages",
"item_path_pattern": "model.encoder.stages.{i}",
"source": "module_tree_repeat_collapse"
},
"repeated_class_name": "FocalNetStage"
},
{
"body": "encoder_layer",
"container_path_pattern": "model.encoder.stages.{i}.layers",
"count": 2,
"count_expr": "config.depths[i]",
"count_source": "config",
"id": "encoder_layers",
"index_symbol": "j",
"item_path_pattern": "model.encoder.stages.{i}.layers.{j}",
"kind": "symbolic_repeat",
"provenance": {
"class_name": "FocalNetLayer",
"container_path_pattern": "model.encoder.stages.{i}.layers",
"item_path_pattern": "model.encoder.stages.{i}.layers.{j}",
"source": "module_tree_repeat_collapse"
},
"repeated_class_name": "FocalNetLayer"
},
{
"body": "encoder_layer_2",
"container_path_pattern": "model.encoder.stages.{i}.layers.{j}.modulation.focal_layers",
"count": 2,
"count_expr": "2",
"count_source": "module_tree",
"id": "encoder_layer_2s",
"index_symbol": "k",
"item_path_pattern": "model.encoder.stages.{i}.layers.{j}.modulation.focal_layers.{k}",
"kind": "symbolic_repeat",
"provenance": {
"class_name": "Sequential",
"container_path_pattern": "model.encoder.stages.{i}.layers.{j}.modulation.focal_layers",
"item_path_pattern": "model.encoder.stages.{i}.layers.{j}.modulation.focal_layers.{k}",
"source": "module_tree_repeat_collapse"
},
"repeated_class_name": "Sequential"
}
],
"schema_version": "architecture-template-v0",
"templates": [
{
"children": [
"encoder_layers",
"encoder_focal_net_stage.downsample"
],
"class_name": "FocalNetStage",
"id": "encoder_focal_net_stage",
"kind": "module",
"path_pattern": "model.encoder.stages.{i}"
},
{
"attributes": {},
"children": [
"encoder_focal_net_stage.downsample.projection",
"encoder_focal_net_stage.downsample.norm"
],
"class_name": "FocalNetPatchEmbeddings",
"id": "encoder_focal_net_stage.downsample",
"kind": "embedding",
"path_pattern": "model.encoder.stages.{i}.downsample"
},
{
"class_name": "Conv2d",
"id": "encoder_focal_net_stage.downsample.projection",
"kind": "convolution",
"path_pattern": "model.encoder.stages.{i}.downsample.projection"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "encoder_focal_net_stage.downsample.norm",
"kind": "normalization",
"path_pattern": "model.encoder.stages.{i}.downsample.norm"
},
{
"children": [
"encoder_layer.norm1",
"encoder_layer.modulation",
"encoder_layer.norm2",
"encoder_layer.mlp"
],
"class_name": "FocalNetLayer",
"id": "encoder_layer",
"kind": "transformer_block",
"path_pattern": "model.encoder.stages.{i}.layers.{j}"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "encoder_layer.norm1",
"kind": "normalization",
"path_pattern": "model.encoder.stages.{i}.layers.{j}.norm1"
},
{
"children": [
"encoder_layer.modulation.projection_context",
"encoder_layer_2s"
],
"class_name": "FocalNetModulation",
"id": "encoder_layer.modulation",
"kind": "module",
"path_pattern": "model.encoder.stages.{i}.layers.{j}.modulation"
},
{
"class_name": "Conv2d",
"id": "encoder_layer.modulation.projection_context",
"kind": "convolution",
"path_pattern": "model.encoder.stages.{i}.layers.{j}.modulation.projection_context"
},
{
"attributes": {
"norm_type": "layer"
},
"class_name": "LayerNorm",
"id": "encoder_layer.norm2",
"kind": "normalization",
"path_pattern": "model.encoder.stages.{i}.layers.{j}.norm2"
},
{
"attributes": {
"activation": "gelu"
},
"children": [
"encoder_layer.mlp.fc1",
"encoder_layer.mlp.fc2"
],
"class_name": "FocalNetMlp",
"id": "encoder_layer.mlp",
"kind": "feed_forward",
"path_pattern": "model.encoder.stages.{i}.layers.{j}.mlp"
},
{
"attributes": {
"in_features": 96,
"out_features": 384
},
"class_name": "Linear",
"id": "encoder_layer.mlp.fc1",
"kind": "projection",
"path_pattern": "model.encoder.stages.{i}.layers.{j}.mlp.fc1"
},
{
"attributes": {
"in_features": 384,
"out_features": 96
},
"class_name": "Linear",
"id": "encoder_layer.mlp.fc2",
"kind": "projection",
"path_pattern": "model.encoder.stages.{i}.layers.{j}.mlp.fc2"
},
{
"children": [
"encoder_layer_2.0"
],
"class_name": "Sequential",
"id": "encoder_layer_2",
"kind": "module",
"path_pattern": "model.encoder.stages.{i}.layers.{j}.modulation.focal_layers.{k}"
},
{
"class_name": "Conv2d",
"id": "encoder_layer_2.0",
"kind": "convolution",
"path_pattern": "model.encoder.stages.{i}.layers.{j}.modulation.focal_layers.{k}.0"
}
]
}