(self,
in_channels,
out_channels,
num_layer=2,
drop_path_rate=0.1,
max_len=25,
vis_seq=50,
iters=1,
pos_len=False,
ch=False,
rec_layer=1,
num_heads=None,
ds=False,
**kwargs)
| 172 | class CPPDDecoder(nn.Module): |
| 173 | |
| 174 | def __init__(self, |
| 175 | in_channels, |
| 176 | out_channels, |
| 177 | num_layer=2, |
| 178 | drop_path_rate=0.1, |
| 179 | max_len=25, |
| 180 | vis_seq=50, |
| 181 | iters=1, |
| 182 | pos_len=False, |
| 183 | ch=False, |
| 184 | rec_layer=1, |
| 185 | num_heads=None, |
| 186 | ds=False, |
| 187 | **kwargs): |
| 188 | super(CPPDDecoder, self).__init__() |
| 189 | |
| 190 | self.out_channels = out_channels # none + 26 + 10 |
| 191 | dim = in_channels |
| 192 | self.dim = dim |
| 193 | self.iters = iters |
| 194 | self.max_len = max_len + 1 # max_len + eos |
| 195 | self.pos_len = pos_len |
| 196 | self.ch = ch |
| 197 | self.char_node_embed = Embeddings(d_model=dim, |
| 198 | vocab=self.out_channels, |
| 199 | scale_embedding=True) |
| 200 | self.pos_node_embed = Embeddings(d_model=dim, |
| 201 | vocab=self.max_len, |
| 202 | scale_embedding=True) |
| 203 | dpr = np.linspace(0, drop_path_rate, num_layer + rec_layer) |
| 204 | |
| 205 | self.char_node_decoder = nn.ModuleList([ |
| 206 | DecoderLayer( |
| 207 | dim=dim, |
| 208 | num_heads=dim // 32 if num_heads is None else num_heads, |
| 209 | mlp_ratio=4.0, |
| 210 | qkv_bias=True, |
| 211 | drop_path=dpr[i], |
| 212 | ) for i in range(num_layer) |
| 213 | ]) |
| 214 | self.pos_node_decoder = nn.ModuleList([ |
| 215 | DecoderLayer( |
| 216 | dim=dim, |
| 217 | num_heads=dim // 32 if num_heads is None else num_heads, |
| 218 | mlp_ratio=4.0, |
| 219 | qkv_bias=True, |
| 220 | drop_path=dpr[i], |
| 221 | ) for i in range(num_layer) |
| 222 | ]) |
| 223 | |
| 224 | self.edge_decoder = nn.ModuleList([ |
| 225 | DecoderLayer( |
| 226 | dim=dim, |
| 227 | num_heads=dim // 32 if num_heads is None else num_heads, |
| 228 | mlp_ratio=4.0, |
| 229 | qkv_bias=True, |
| 230 | qk_scale=1.0 if (rec_layer + i) % 2 != 0 else None, |
| 231 | drop_path=dpr[num_layer + i], |
nothing calls this directly
no test coverage detected