str的使用
实验中对于T2T模型使用了str(model)
,输出结果如下:
MyT_t_24(
(model): T2T_ViT(
(tokens_to_token): T2T_module(
(soft_split0): Unfold(kernel_size=(7, 7), dilation=1, padding=(2, 2), stride=(4, 4))
(soft_split1): Unfold(kernel_size=(3, 3), dilation=1, padding=(1, 1), stride=(2, 2))
(soft_split2): Unfold(kernel_size=(3, 3), dilation=1, padding=(1, 1), stride=(2, 2))
(attention1): Token_transformer(
(norm1): LayerNorm((147,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=147, out_features=192, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=64, out_features=64, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((64,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=64, out_features=64, bias=True)
(act): GELU()
(fc2): Linear(in_features=64, out_features=64, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(attention2): Token_transformer(
(norm1): LayerNorm((576,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=576, out_features=192, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=64, out_features=64, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((64,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=64, out_features=64, bias=True)
(act): GELU()
(fc2): Linear(in_features=64, out_features=64, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(project): Linear(in_features=576, out_features=512, bias=True)
)
(pos_drop): Dropout(p=0.0, inplace=False)
(blocks): ModuleList(
(0): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(1): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(2): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(3): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(4): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(5): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(6): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(7): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(8): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(9): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(10): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(11): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(12): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(13): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(14): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(15): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(16): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(17): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(18): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(19): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(20): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(21): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(22): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
(23): Block(
(norm1): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(attn): Attention(
(qkv): Linear(in_features=512, out_features=1536, bias=False)
(attn_drop): Dropout(p=0.0, inplace=False)
(proj): Linear(in_features=512, out_features=512, bias=True)
(proj_drop): Dropout(p=0.0, inplace=False)
)
(drop_path): Identity()
(norm2): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(mlp): Mlp(
(fc1): Linear(in_features=512, out_features=1536, bias=True)
(act): GELU()
(fc2): Linear(in_features=1536, out_features=512, bias=True)
(drop): Dropout(p=0.0, inplace=False)
)
)
)
(norm): LayerNorm((512,), eps=1e-05, elementwise_affine=True)
(head): Linear(in_features=512, out_features=1000, bias=True)
)
)
可以看出输出了整个模型的信息