Instructions to use verbit/hebrew_punctuation with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use verbit/hebrew_punctuation with Transformers:
# Load model directly from transformers import BertForPunctuation model = BertForPunctuation.from_pretrained("verbit/hebrew_punctuation", dtype="auto") - Notebooks
- Google Colab
- Kaggle
| from torch import nn | |
| from transformers import BertForMaskedLM, PreTrainedModel | |
| from src.config import PunctuationBertConfig | |
| class BertForPunctuation(PreTrainedModel): | |
| config_class = PunctuationBertConfig | |
| def __init__(self, config): | |
| super().__init__(config) | |
| # segment_size equal backward_context + forward_context + predicted token + pause token | |
| segment_size = config.backward_context + config.forward_context + 2 | |
| bert_vocab_size = config.vocab_size | |
| self.bert = BertForMaskedLM(config) | |
| self.bn = nn.BatchNorm1d(segment_size * bert_vocab_size) | |
| self.fc = nn.Linear(segment_size * bert_vocab_size, config.output_size) | |
| self.dropout = nn.Dropout(config.dropout) | |
| def forward(self, x): | |
| x = self.bert(x)[0] | |
| x = x.view(x.shape[0], -1) | |
| x = self.fc(self.dropout(self.bn(x))) | |
| return x | |