(args)
| 144 | |
| 145 | |
| 146 | def build_position_encoding(args): |
| 147 | N_steps = args.hidden_dim // 2 # 256//2 |
| 148 | if args.position_embedding in ('v2', 'sine'): # sine |
| 149 | # TODO find a better way of exposing other arguments |
| 150 | position_embedding = PositionEmbeddingSineHW( |
| 151 | N_steps, |
| 152 | temperatureH=args.pe_temperatureH, |
| 153 | temperatureW=args.pe_temperatureW, |
| 154 | normalize=True) |
| 155 | elif args.position_embedding in ('v3', 'learned'): |
| 156 | position_embedding = PositionEmbeddingLearned(N_steps) |
| 157 | else: |
| 158 | raise ValueError(f'not supported {args.position_embedding}') |
| 159 | |
| 160 | return position_embedding |
no test coverage detected