Buckets:
| # 사용자 정의 레이어 및 유틸리티 [[custom-layers-and-utilities]] | |
| 이 페이지는 라이브러리에서 사용되는 사용자 정의 레이어와 모델링을 위한 유틸리티 함수들을 나열합니다. | |
| 이 함수들 대부분은 라이브러리 내의 모델 코드를 연구할 때만 유용합니다. | |
| ## PyTorch 사용자 정의 모듈 [[transformers.Conv1D]][[transformers.Conv1D]] | |
| #### transformers.Conv1D[[transformers.Conv1D]] | |
| [Source](https://github.com/huggingface/transformers/blob/main/src/transformers/pytorch_utils.py#L97) | |
| 1D-convolutional layer as defined by Radford et al. for OpenAI GPT (and also used in GPT-2). | |
| Basically works like a linear layer but the weights are transposed. | |
| **Parameters:** | |
| nf (`int`) : The number of output features. | |
| nx (`int`) : The number of input features. | |
| ## PyTorch 헬퍼(helper) 함수 [[transformers.apply_chunking_to_forward]][[transformers.apply_chunking_to_forward]] | |
| #### transformers.apply_chunking_to_forward[[transformers.apply_chunking_to_forward]] | |
| [Source](https://github.com/huggingface/transformers/blob/main/src/transformers/pytorch_utils.py#L126) | |
| This function chunks the `input_tensors` into smaller input tensor parts of size `chunk_size` over the dimension | |
| `chunk_dim`. It then applies a layer `forward_fn` to each chunk independently to save memory. | |
| If the `forward_fn` is independent across the `chunk_dim` this function will yield the same result as directly | |
| applying `forward_fn` to `input_tensors`. | |
| Examples: | |
| ```python | |
| # rename the usual forward() fn to forward_chunk() | |
| def forward_chunk(self, hidden_states): | |
| hidden_states = self.decoder(hidden_states) | |
| return hidden_states | |
| # implement a chunked forward function | |
| def forward(self, hidden_states): | |
| return apply_chunking_to_forward(self.forward_chunk, self.chunk_size_lm_head, self.seq_len_dim, hidden_states) | |
| ``` | |
| **Parameters:** | |
| forward_fn (`Callable[..., torch.Tensor]`) : The forward function of the model. | |
| chunk_size (`int`) : The chunk size of a chunked tensor: `num_chunks = len(input_tensors[0]) / chunk_size`. | |
| chunk_dim (`int`) : The dimension over which the `input_tensors` should be chunked. | |
| input_tensors (`tuple[torch.Tensor]`) : The input tensors of `forward_fn` which will be chunked | |
| **Returns:** | |
| ``torch.Tensor`` | |
| A tensor with the same shape as the `forward_fn` would have given if applied`. | |
| #### transformers.pytorch_utils.prune_linear_layer[[transformers.pytorch_utils.prune_linear_layer]] | |
| [Source](https://github.com/huggingface/transformers/blob/main/src/transformers/pytorch_utils.py#L63) | |
| Prune a linear layer to keep only entries in index. | |
| Used to remove heads. | |
| **Parameters:** | |
| layer (`torch.nn.Linear`) : The layer to prune. | |
| index (`torch.LongTensor`) : The indices to keep in the layer. | |
| dim (`int`, *optional*, defaults to 0) : The dimension on which to keep the indices. | |
| **Returns:** | |
| ``torch.nn.Linear`` | |
| The pruned layer as a new layer with `requires_grad=True`. | |
Xet Storage Details
- Size:
- 2.97 kB
- Xet hash:
- 7465792ba4ba8996c494ca99ce5b49dd95c4e62fbe4fd2461b2984d69beacc2b
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.