Instructions to use aehrc/cxrmate-rrg24 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use aehrc/cxrmate-rrg24 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="aehrc/cxrmate-rrg24", trust_remote_code=True)# Load model directly from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("aehrc/cxrmate-rrg24", trust_remote_code=True) model = AutoModel.from_pretrained("aehrc/cxrmate-rrg24", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
Upload model
Browse files- config.json +4 -0
- modelling_cxrrg.py +4 -6
config.json
CHANGED
|
@@ -21,6 +21,10 @@
|
|
| 21 |
"do_sample": false,
|
| 22 |
"early_stopping": false,
|
| 23 |
"encoder_no_repeat_ngram_size": 0,
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
"eos_token_id": 2,
|
| 25 |
"exponential_decay_length_penalty": null,
|
| 26 |
"finetuning_task": null,
|
|
|
|
| 21 |
"do_sample": false,
|
| 22 |
"early_stopping": false,
|
| 23 |
"encoder_no_repeat_ngram_size": 0,
|
| 24 |
+
"end_of_section_token_ids": [
|
| 25 |
+
3,
|
| 26 |
+
2
|
| 27 |
+
],
|
| 28 |
"eos_token_id": 2,
|
| 29 |
"exponential_decay_length_penalty": null,
|
| 30 |
"finetuning_task": null,
|
modelling_cxrrg.py
CHANGED
|
@@ -1,13 +1,11 @@
|
|
| 1 |
-
import functools
|
| 2 |
-
import os
|
| 3 |
from typing import Optional, Tuple, Union
|
| 4 |
|
| 5 |
import torch
|
| 6 |
import transformers
|
| 7 |
-
from torch.nn import CrossEntropyLoss
|
| 8 |
from transformers import PreTrainedTokenizerFast, VisionEncoderDecoderModel
|
| 9 |
from transformers.configuration_utils import PretrainedConfig
|
| 10 |
-
from transformers.modeling_outputs import
|
| 11 |
from transformers.modeling_utils import PreTrainedModel
|
| 12 |
from transformers.models.vision_encoder_decoder.configuration_vision_encoder_decoder import (
|
| 13 |
VisionEncoderDecoderConfig,
|
|
@@ -457,13 +455,13 @@ class CXRRGModel(VisionEncoderDecoderModel):
|
|
| 457 |
_, seq_len = token_ids.shape
|
| 458 |
|
| 459 |
# The number of sections is the same as the number of separator_token_ids:
|
| 460 |
-
num_sections = len(self.config.decoder.
|
| 461 |
|
| 462 |
sections = {k: [] for k in range(num_sections)}
|
| 463 |
|
| 464 |
for i in token_ids:
|
| 465 |
prev_col = 0
|
| 466 |
-
for j, k in enumerate(self.config.decoder.
|
| 467 |
|
| 468 |
# The maximum sequence length was exceeded, thus no more tokens:
|
| 469 |
if prev_col >= seq_len:
|
|
|
|
|
|
|
|
|
|
| 1 |
from typing import Optional, Tuple, Union
|
| 2 |
|
| 3 |
import torch
|
| 4 |
import transformers
|
| 5 |
+
from torch.nn import CrossEntropyLoss
|
| 6 |
from transformers import PreTrainedTokenizerFast, VisionEncoderDecoderModel
|
| 7 |
from transformers.configuration_utils import PretrainedConfig
|
| 8 |
+
from transformers.modeling_outputs import Seq2SeqLMOutput
|
| 9 |
from transformers.modeling_utils import PreTrainedModel
|
| 10 |
from transformers.models.vision_encoder_decoder.configuration_vision_encoder_decoder import (
|
| 11 |
VisionEncoderDecoderConfig,
|
|
|
|
| 455 |
_, seq_len = token_ids.shape
|
| 456 |
|
| 457 |
# The number of sections is the same as the number of separator_token_ids:
|
| 458 |
+
num_sections = len(self.config.decoder.end_of_section_token_ids)
|
| 459 |
|
| 460 |
sections = {k: [] for k in range(num_sections)}
|
| 461 |
|
| 462 |
for i in token_ids:
|
| 463 |
prev_col = 0
|
| 464 |
+
for j, k in enumerate(self.config.decoder.end_of_section_token_ids):
|
| 465 |
|
| 466 |
# The maximum sequence length was exceeded, thus no more tokens:
|
| 467 |
if prev_col >= seq_len:
|