Compare commits

...

5 Commits

Author SHA1 Message Date
ydshieh c437bcb0a1 fix 2024-04-16 17:35:11 +02:00
ydshieh 040407a8fc fix 2024-04-16 17:31:37 +02:00
ydshieh a319820641 fix 2024-04-16 15:26:31 +02:00
ydshieh 98574e7935 fix 2024-04-16 15:25:31 +02:00
ydshieh 3756d12fac fix 2024-04-16 15:21:50 +02:00
4 changed files with 8 additions and 10 deletions

View File

@ -3,7 +3,7 @@ name: Doctests
on:
push:
branches:
- run_doctest*
- fix_stupid_cond
repository_dispatch:
schedule:
- cron: "17 2 * * *"

View File

@ -1786,17 +1786,13 @@ class Idefics2ForConditionalGeneration(Idefics2PreTrainedModel):
>>> from transformers import AutoProcessor, AutoModelForVision2Seq
>>> from transformers.image_utils import load_image
>>> DEVICE = "cuda:0"
>>> # Note that passing the image urls (instead of the actual pil images) to the processor is also possible
>>> image1 = load_image("https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg")
>>> image2 = load_image("https://cdn.britannica.com/59/94459-050-DBA42467/Skyline-Chicago.jpg")
>>> image3 = load_image("https://cdn.britannica.com/68/170868-050-8DDE8263/Golden-Gate-Bridge-San-Francisco.jpg")
>>> processor = AutoProcessor.from_pretrained("HuggingFaceM4/idefics2-8b-base")
>>> model = AutoModelForVision2Seq.from_pretrained(
... "HuggingFaceM4/idefics2-8b-base",
>>> ).to(DEVICE)
>>> model = AutoModelForVision2Seq.from_pretrained("HuggingFaceM4/idefics2-8b-base", device_map="auto")
>>> BAD_WORDS_IDS = processor.tokenizer(["<image>", "<fake_token_around_image>"], add_special_tokens=False).input_ids
>>> EOS_WORDS_IDS = [processor.tokenizer.eos_token_id]
@ -1805,15 +1801,16 @@ class Idefics2ForConditionalGeneration(Idefics2PreTrainedModel):
>>> prompts = [
... "<image>In this image, we can see the city of New York, and more specifically the Statue of Liberty.<image>In this image,",
... "In which city is that bridge located?<image>",
>>> ]
... ]
>>> images = [[image1, image2], [image3]]
>>> inputs = processor(text=prompts, padding=True, return_tensors="pt").to(DEVICE)
>>> inputs = processor(text=prompts, padding=True, return_tensors="pt").to("cuda")
>>> # Generate
>>> generated_ids = model.generate(**inputs, bad_words_ids=BAD_WORDS_IDS, max_new_tokens=500)
>>> generated_ids = model.generate(**inputs, bad_words_ids=BAD_WORDS_IDS, max_new_tokens=20)
>>> generated_texts = processor.batch_decode(generated_ids, skip_special_tokens=True)
>>> print(generated_texts)
['In this image, we can see the city of New York, and more specifically the Statue of Liberty. In this image, we can see the city of New York, and more specifically the Statue of Liberty.\n\n', 'In which city is that bridge located?\n\nThe bridge is located in the city of Pittsburgh, Pennsylvania.\n\n\nThe bridge is']
```"""
output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions

View File

@ -70,6 +70,7 @@ if __name__ == "__main__":
refined_test_collection_map[file_dir] = " ".join(sorted(raw_test_collection_map[file_dir]))
sorted_file_dirs = sorted(refined_test_collection_map.keys())
sorted_file_dirs = ["src/transformers/models/idefics2"]
test_collection_map = {}
for file_dir in sorted_file_dirs:

View File

@ -507,7 +507,7 @@ def get_all_doctest_files() -> List[str]:
# change to use "/" as path separator
test_files_to_run = ["/".join(Path(x).parts) for x in test_files_to_run]
# don't run doctest for files in `src/transformers/models/deprecated`
test_files_to_run = [x for x in test_files_to_run if "models/deprecated" not in test_files_to_run]
test_files_to_run = [x for x in test_files_to_run if "models/deprecated" not in x]
# only include files in `src` or `docs/source/en/`
test_files_to_run = [x for x in test_files_to_run if x.startswith(("src/", "docs/source/en/"))]