toshiaki1729 / stable-diffusion-webui-dataset-tag-editor Goto Github PK
View Code? Open in Web Editor NEWExtension to edit dataset captions for SD web UI by AUTOMATIC1111
License: MIT License
Extension to edit dataset captions for SD web UI by AUTOMATIC1111
License: MIT License
In the older version of your Extension it was easy to select and change tags fast.
Because of all the additions and reorganizing that somehow changed.
As I understand now a Tag has to be selected and then copied over to the "Search text" field to change it in the "replace text" field.
(or alternatively under Common tags, but since that shows all common tags for the selection, that can be finicky)
A few times I tried to edit it without first copying it to "Search text" and got an interesting bug that basically turns all "_" into the tag resulting in a long tag like "black dogblack dogblack dogblack dogblack dog".
A way to do that could be to auto-copy the selected tags into "Search text" (similiar to the old implementation?).
Looking forward to your thoughts on this.
Hi,
Sometimes there are images in a folder that don't have a txt file with them and they arn't seen. Is it possible to include them, so then it would be possible to add the approprite tags and create the txt file when the tags are saved?
Also, could adding the interrogate option be an option to prefill the tags?
Thanks!
I like this addition a lot, but it would be much better if the Edit Caption tab had CLIP and Deepbooru interrogator buttons available for the selected image (like the Img2Img tab, you could copy from there). So the captured text could be included in the Edit Caption field. This way it could be easily rewritten, or modified, or replaced again.
Traceback (most recent call last):
File "C:\Users\dmitr\Documents\Ai\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 321, in run_predict
output = await app.blocks.process_api(
File "C:\Users\dmitr\Documents\Ai\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1015, in process_api
result = await self.call_function(fn_index, inputs, iterator, request)
File "C:\Users\dmitr\Documents\Ai\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 856, in call_function
prediction = await anyio.to_thread.run_sync(
File "C:\Users\dmitr\Documents\Ai\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 31, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "C:\Users\dmitr\Documents\Ai\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 937, in run_sync_in_worker_thread
return await future
File "C:\Users\dmitr\Documents\Ai\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 867, in run
result = context.run(func, *args)
File "C:\Users\dmitr\Documents\Ai\stable-diffusion-webui\extensions\stable-diffusion-webui-dataset-tag-editor\scripts\main.py", line 405, in interrogate_selected_image_clip
from scripts.dataset_tag_editor.dataset_tag_editor import interrogate_image_clip
ModuleNotFoundError: No module named 'scripts.dataset_tag_editor'
In addition to alphabetical and frequency sort, it would be nice to have an option to sort by the tag's actual string length.
Currently it lists everything as unique, so you have to edit/filter for many combinations. Scanning through the list is extremely painful even on datasets with only 20+ images.
Current workflow is to just filter and deal with each one individually, which is tedious.
Renaming could be an issue though, especially when exiting tags exists with different weights.
Havent thought about how to make it work nicely though. I really like this extension, and it works extremely well, I guess you can figure it out :D
Keep up the good work.
Hi toshiaki,
Please let the user specify a custom Temp Folder or use the Temp Folder specified in the A1 settings. Thanks.
I'm quite sure that functionality was how it worked in an older version.
The request is basically in the title:
Please close the selected Image once "Apply Changes" is clicked. Also please clear an empty Tag "[0]" from selected Tags once it's removed.
p.s.:
Also clear the selected Image after such actions as "Apply Selection Filter". Currently it often still shows a wrong formerly selected Image after applying a Selection Filter.
Thanks.
I suggest setting the Negative Filter Default to "Or", because that feels like the most natural use - to filter out all images with the selected Tags.
p.s.:
It would be great to also have "Copy caption from selected images automatically" default to True.
I for example need it every time I use the extension. Of course if the mayority of users doesn't, that would make my point void.
Maybe you could add a "user_settings" file so we can change the defaults without losing our changes every commit? (I also defaulted backups to False because they conflicted with DB iirc)
Hi, I'm running into this error when booting up the webui after doing a recent update:
Error loading script: main.py
Traceback (most recent call last):
File "C:\SD\stable-diffusion-webui-Automatic1111\modules\scripts.py", line 195, in load_scripts
module = script_loading.load_module(scriptfile.path)
File "C:\SD\stable-diffusion-webui-Automatic1111\modules\script_loading.py", line 13, in load_module
exec(compiled, module.__dict__)
File "C:\SD\stable-diffusion-webui-Automatic1111\extensions\stable-diffusion-webui-dataset-tag-editor\scripts\main.py", line 11, in <module>
from scripts.dataset_tag_editor.ui import TagFilterUI, TagSelectUI
ImportError: cannot import name 'TagSelectUI' from 'scripts.dataset_tag_editor.ui' (C:\SD\stable-diffusion-webui-Automatic1111\extensions\stable-diffusion-webui-dataset-tag-editor\scripts\dataset_tag_editor\ui.py)
There's no description of how the tags are sorted when using this feature. Additionally, given the importance of tag order to focus training, especially when preparing tags for lora training, it would be helpful to have a feature where the user can arrange all available tags into a preferred order, and then sort the tags based on the order.
The title says it all:
When I click on an image and then use the arrow keys to circle through the images, the "selected image" no longer gets updated. It only gets selected after clicking on it. This disables pressing Enter to add an image to the selection for example.
Error loading script: dataset_tag_editor_ui.py
Traceback (most recent call last):
File "/content/nai/stable-diffusion-webui/modules/scripts.py", line 170, in load_scripts
exec(compiled, module.__dict__)
File "/content/nai/stable-diffusion-webui/extensions/stable-diffusion-webui-dataset-tag-editor/scripts/dataset_tag_editor_ui.py", line 6, in <module>
from dataset_tag_editor import DatasetTagEditor
File "/content/nai/stable-diffusion-webui/extensions/stable-diffusion-webui-dataset-tag-editor/dataset_tag_editor.py", line 9, in <module>
def get_filepath_set(dir: str, recursive: bool) -> set[str]:
TypeError: 'type' object is not subscriptable
Environment: Google colab (python 3.7.15)
Webui latest commit: 804d9fb83d0c63ca3acd36378707ce47b8f12599
Tag editor latest commit: 8d05e00
Excuse me if I'm operating this wrongly, but it seems difficult to remove tags from images.
Right now you have to select them one by one, which will allow them to show up in "batch edit captions" but ONLY if they are common to all selected images.
Since I want to remove false negatives from random images, they tend to not be shared, making deleting the tags very difficult, as they need to be removed one by one.
Can there be a "remove selected tags" button of sorts? That'd allow cleaning up those stray tags without having to do it manually one by one in the text files.
Hey there,
First off - I really like how you handled the last few additions to this Extension.
For a while now my folders didn't load anymore though.
At first I thought it was a bug and redownloaded the Extension.
Turns out the name of my folders was the problem. I have the bad habit of naming folders with "[Name]" every now and then and apparently the square brackets prevent the Tag Editor from loading a folder now (it worked before, like a month or two ago).
Is there a way around this?
https://i.imgur.com/uKHpJDn.png
Getting this error when trying to move images+captions to a different folder after updating to latest commit.
Hi,
Seems there are some changes on auto's repo for deepdanbooru and now it's not possible using your editor.
However it's still in a broken state on auto's untill a pending PR get merged.
AUTOMATIC1111/stable-diffusion-webui#4913
Just FYI here for when it's fixed
Hi,
It is possible to allow the booru tag autocomplete extension to get used (if installed/enabled) in the edit caption fields?
https://github.com/DominikDoom/a1111-sd-webui-tagcomplete
Thanks!
Hi, when I try to edit an image caption "apply changes to selected image", then switch image, then go back to the first image the caption I had saved is gone. Pressing "save all changes" does not save the caption to .txt file.
Is get this error output :
Loading Completed: 66 images found
Traceback (most recent call last):
File "C:\Users\MYNAME\Documents\stablediffusion\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 284, in run_predict
output = await app.blocks.process_api(
File "C:\Users\MYNAME\Documents\stablediffusion\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 980, in process_api
inputs = self.preprocess_data(fn_index, inputs, state)
File "C:\Users\MYNAME\Documents\stablediffusion\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 891, in preprocess_data
processed_input.append(block.preprocess(inputs[i]))
IndexError: list index out of range
I have 66 images in my dataset.
Hey there,
Because of editing mistakes or when you are using several Auto-Taggers on a Dataset it's quite likely to get duplicate tags.
Right now I can't think of an Extension that checks for those and deletes the duplicates.
It would be great if you could include this functionality.
when loading, does it actually interrogate in batches, or does it interrogate as a foreach? it doesnt stress any components of my computer, so it doesnt appear to be running in parallel, which is where I think lijt is coming from. if I want to interrogate 5000 images, I start it in the morning and its done a little after I get off work. I could lower the resolution to get it to run faster, but that means that details will not be interrogated and lowers the accuracy of the resultant tags.
Originally posted by @yggdrasil75 in #51 (comment)
Every now and then I forget to "Copy and overwrite" tags to the "Edit Caption" area once I selected an image.
Also quite often I forget to do that when I still have the tag of an old image selected.
I have two ideas to make this more fluent and hopefully more "fail safe":
Auto-fill "Edit Caption" with the caption of the selected image (if "Edit Caption" is empty)
Clear "Edit Caption" after "Apply Changes to selected Image"
Thanks for listening.
Hey there,
Please consider this.
Thanks for listening, keep up the good work!
Hey there,
Your newest additions are great. I'm slowly getting used to the changed UI.
Could you please add a button to select if a word only gets replaced if it's on it's own?
For example if you change "her" to "his" - words like "together" get changed to "togethis" along the way.
And it takes some getting used to that the "Common Tags" moved and now always show all common tags for the selected images, but I think it's a good change after some more getting used to it.
EDIT:
Oh and Search and replacing a tag with " " changes it to "a, ,c,d" in the tag list instead of getting rid of "_,".
This extension is extremely helpful. Thank you so much.
But one thing is questionable. As of now you can access any folder, and with subdirectory support just C:\ is enough to see all images stored on that particular drive. This could be unsafe when sharing your SD installation with others.
Optional feature limiting access to images stored in SD installation folder would be great.
The "sort by" column in the batch remove is blank after the update.
Reset to commit 94afc6e and all goes well.
Would it be possible to add subdirectory support to this extension? I currently have all my images saved from SD into subdirectories and it would be nice to be able to put in one path and search/filter all of them at once.
Traceback (most recent call last):
File "/root/miniconda3/lib/python3.10/site-packages/gradio/routes.py", line 337, in run_predict
output = await app.get_blocks().process_api(
File "/root/miniconda3/lib/python3.10/site-packages/gradio/blocks.py", line 1018, in process_api
data = self.postprocess_data(fn_index, result["prediction"], state)
File "/root/miniconda3/lib/python3.10/site-packages/gradio/blocks.py", line 956, in postprocess_data
prediction_value = block.postprocess(prediction_value)
File "/root/miniconda3/lib/python3.10/site-packages/gradio/components.py", line 3744, in postprocess
raise ValueError(f"Cannot process type as image: {type(img)}")
ValueError: Cannot process type as image: <class 'pathlib.PosixPath'>
I have generated images with the following text:
a medium shot of a red wavy haired girl with blue eyes naked in the classic house, smile, front shot, highly detailed eyes, super highly detailed face, detailed body, pubic hair, professional digital painting, artstation, Unreal Engine 5, HD quality, 8k resolution, beautiful, cinematic, art by artgerm
Negative prompt: lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, fat, bad_hands_5, squint, cross-eyes, coloured pubic hair
Steps: 30, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 1451586861, Size: 512x512, Model hash: 712391dc4d, Model: Photo and graphic_galaxytimemachinesGTM_v3, ENSD: 31337, Score: 7.13
Previously in batch mode I selected all tags and unchecked what I didn't need. Now I get an error in this operation, the console says that this is the problem:
[tag-editor] Loading dataset from H:\Stable-Diffusion-Automatic\DreamArtist-Texture Inversion Embedding-Lora\krisztinmyperson\train
[tag-editor] Total 750 files under the directory including not image files.
[tag-editor] Loading Completed: 375 images found
Traceback (most recent call last):
File "H:\Stable-Diffusion-Automatic\stable-diffusion-webui\venv\lib\site-packages\gradio\routes.py", line 337, in run_predict
output = await app.get_blocks().process_api(
File "H:\Stable-Diffusion-Automatic\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 1015, in process_api
result = await self.call_function(
File "H:\Stable-Diffusion-Automatic\stable-diffusion-webui\venv\lib\site-packages\gradio\blocks.py", line 833, in call_function
prediction = await anyio.to_thread.run_sync(
File "H:\Stable-Diffusion-Automatic\stable-diffusion-webui\venv\lib\site-packages\anyio\to_thread.py", line 31, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "H:\Stable-Diffusion-Automatic\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 937, in run_sync_in_worker_thread
return await future
File "H:\Stable-Diffusion-Automatic\stable-diffusion-webui\venv\lib\site-packages\anyio\_backends\_asyncio.py", line 867, in run
result = context.run(func, *args)
File "H:\Stable-Diffusion-Automatic\stable-diffusion-webui\extensions\stable-diffusion-webui-dataset-tag-editor\scripts\ui\block_tag_select.py", line 89, in cbg_tags_changed
self.selected_tags = set(dte_instance.read_tags(cbg_tags))
File "H:\Stable-Diffusion-Automatic\stable-diffusion-webui\extensions\stable-diffusion-webui-dataset-tag-editor\scripts\dataset_tag_editor\dte_logic.py", line 111, in read_tags
tags = [re_tags.match(tag).group(1) for tag in tags if tag]
File "H:\Stable-Diffusion-Automatic\stable-diffusion-webui\extensions\stable-diffusion-webui-dataset-tag-editor\scripts\dataset_tag_editor\dte_logic.py", line 111, in <listcomp>
tags = [re_tags.match(tag).group(1) for tag in tags if tag]
AttributeError: 'NoneType' object has no attribute 'group'
Probably does not handle Enter/Paragraph in the text. You might want to include an Enter cleanup switch/preprocessor.
Hi, I have images with a .txt file for each, and after updating right now the extension I get an error when I try to apply a caption
With this error :
img_paths, _ = dataset_tag_editor.get_filtered_imgpath_and_tags(filters=[path_filter, tag_filter, tag_filter_neg])
TypeError: DatasetTagEditor.get_filtered_imgpath_and_tags() got an unexpected keyword argument 'filters'
And this red error before doing any interaction (excepted selecting an image)
It would be nice to add a button that caption image in batch automatically inside dataset tag editor, Hopefully it is easy to implement this feature?
Because currently only way to do so is to do it image by image its very time consuming
Thank you Toshiaki ur plugin works wonderfully. Thanks for your hardwork!
running auto1111 AMD fork, installed from extensions pull
arch: AMD64
cpu: AMD64 Family 25 Model 80 Stepping 0, AuthenticAMD
system: Windows
release: Windows-10-10.0.19045-SP0
python: 3.10.6
xformers: unavailable
accelerate: 0.12.0
transformers: 4.25.1
Stable Diffusion: (unknown)
Taming Transformers: [2426893] 2022-01-13
CodeFormer: [c5b4593] 2022-09-09
BLIP: [48211a1] 2022-06-07
k_diffusion: (unknown)
Hello toshiaki,
It looks like the way the extension is handling Temp data now isn't very user friendly.
ValueError: File cannot be fetched: C:/A/B/. All files must contained within the Gradio python app working directory, or be a temp file created by the Gradio python app.
That temp file's are created while the extension is used is not a problem per se - it would be great to be able to set a custom temp folder though (or use the one already specified in tha A1 repo).
The way it is I would have to move all of my datasets to a new location.
Hey there,
When you select an image, edit the caption and then click a different image the "Edit Caption" part gets overridden of course (which is good).
Is there some way to ask the user to save the edited caption if he has not? ("Edit Caption" =! "Caption of Selected Image" as a check for example)
Kudos for creating a tool that gets better and better. :)
The WD1_4 Tagger has been released and it is way better than Deepbooru.
It would be amazing if it got integrated into your Extension.
https://github.com/toriato/stable-diffusion-webui-wd14-tagger
I'm getting this error when trying to use the "Add selection" or "Add ALL Displayed" buttons in the "Filter by Selection" tab.
Using the latest commits of automatic1111 and this extension as of today.
OS is Windows 11.
Maybe I'm not understanding the usage of filter by tag, but when I use it, none of my images are being filtered. I know I can use it for editing tags, but I was under the impression that it would filter the images kind of like the filter by selection tab does.
I suggest adding new captioner models, because, for example, GIT-Large is already doing a very good job. I also suggest adding Nielsr's captioners to expand the possibilities:
https://huggingface.co/spaces/nielsr/comparing-captioning-models
Heya again,
I saw that you are working on replacing words in tags - great! :D
Furthermore I think it could be helpful to be able to clear the "Selected Tag" without Clearing the "Tag Filters". Currently I have found no way to do that.
Basically this means when I filter all my tags for something like "frisbee" and I get 12 different BLIP tags and edit one of them it stops appearing in the Tag Filter and thus I can't simply deselect it, which in turn means I have to clear Tag Filters, write "frisbee" again and repeat... a dozen times.
Replace will of course alleviate this somewhat, but I think even afterwards there will be cases in which this functionality will be useful.
Thanks for listening.
Thank you for your great work!
I'm using EveryDream2trainer and it has a limit of 75 tokens per caption.
To check how many tokens are used I have to switch to:
https://github.com/AUTOMATIC1111/stable-diffusion-webui-tokenizer.git
Then go back and adjust the caption accordingly.
It would be great if the token counter will be presented near the captions, inside your extension.
Also if you could add an option to truncate the captions according to certain tokens number, it would be fantastic.
Thank you again for your amazing work!
Same as #31
I need to select the tags, switch to filter by selection tab and hit "apply selection filter", I hope this isn't intended since it becomes quite laborious to quickly scan tags.
localhost-1678395572464.log
Hi again. :)
So another Feature came to mind:
Using BLIP for Datasets can be great, but it often mistakes concepts / images. So if I try to train using BLIP on a collection of dogs for example, it's not unusual to get several BLIP tags that are almost correct, but contain other animals (like cat or wolf etc.) instead of "dog".
It would be great to be able to search & replace a word in all tags (like "cat" -> "dog").
Implementation Idea:
You could have a 2nd text field next to "Search Tags" -> "Replace with * in Tags".
Thanks for listening.
Hi,
Just wondering if it'd be possible to have the ability to remove a file and it's text file?
Thanks!
Hello! I've found this extension to be excellent when editing files already captioned, but I'm trying to caption a fresh data set without using the standard image preparation in webui and I am a bit lost, I'm not sure if it's possible.
What I mean is automatically interrogate all files without a caption txt file, is this something that can be done, or can only be done one by one?
Hi,
After loading a dataset, using CLIP. I try to save the initial captions but the error below happens:
TypeError: DatasetTagEditor.replace_tags() got an unexpected keyword argument 'prepend'
I tried with and without "prepend addition tags" checked.
Works fine if I use any of the wd-v1.4... taggers, but BLIP gives me this output:
[tag-editor] Loading dataset from \IO2\Backup\Automatic1111\Training\Specific Artists\Muhammed Sajid on Behance\JPEG
[tag-editor] Total 40 files under the directory including not image files.
load checkpoint from C:\Automatic1111\models\BLIP\model_base_caption_capfilt_large.pth
Traceback (most recent call last):
File "C:\Automatic1111\venv\lib\site-packages\gradio\routes.py", line 337, in run_predict
output = await app.get_blocks().process_api(
File "C:\Automatic1111\venv\lib\site-packages\gradio\blocks.py", line 1015, in process_api
result = await self.call_function(
File "C:\Automatic1111\venv\lib\site-packages\gradio\blocks.py", line 833, in call_function
prediction = await anyio.to_thread.run_sync(
File "C:\Automatic1111\venv\lib\site-packages\anyio\to_thread.py", line 31, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "C:\Automatic1111\venv\lib\site-packages\anyio_backends_asyncio.py", line 937, in run_sync_in_worker_thread
return await future
File "C:\Automatic1111\venv\lib\site-packages\anyio_backends_asyncio.py", line 867, in run
result = context.run(func, *args)
File "C:\Automatic1111\extensions\stable-diffusion-webui-dataset-tag-editor\scripts\ui\block_load_dataset.py", line 77, in load_files_from_dir
dte_instance.load_dataset(dir, caption_file_ext, recursive, load_caption_from_filename, interrogate_method, use_interrogator_names, threshold_booru, threshold_waifu, opts.dataset_editor_use_temp_files, kohya_json_path if use_kohya_metadata else None)
File "C:\Automatic1111\extensions\stable-diffusion-webui-dataset-tag-editor\scripts\dataset_tag_editor\dte_logic.py", line 577, in load_dataset
interrogate_tags += cap.predict(img)
File "C:\Automatic1111\extensions\stable-diffusion-webui-dataset-tag-editor\scripts\dataset_tag_editor\captioning.py", line 26, in predict
tags = shared.interrogator.generate_caption(image).split(',')
File "C:\Automatic1111\modules\interrogate.py", line 183, in generate_caption
caption = self.blip_model.generate(gpu_image, sample=False, num_beams=shared.opts.interrogate_clip_num_beams, min_length=shared.opts.interrogate_clip_min_length, max_length=shared.opts.interrogate_clip_max_length)
File "C:\Automatic1111\repositories\BLIP\models\blip.py", line 156, in generate
outputs = self.text_decoder.generate(input_ids=input_ids,
File "C:\Automatic1111\venv\lib\site-packages\torch\autograd\grad_mode.py", line 27, in decorate_context
return func(*args, **kwargs)
File "C:\Automatic1111\venv\lib\site-packages\transformers\generation\utils.py", line 1490, in generate
return self.beam_search(
File "C:\Automatic1111\venv\lib\site-packages\transformers\generation\utils.py", line 2749, in beam_search
outputs = self(
File "C:\Automatic1111\venv\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Automatic1111\repositories\BLIP\models\med.py", line 886, in forward
outputs = self.bert(
File "C:\Automatic1111\venv\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Automatic1111\repositories\BLIP\models\med.py", line 781, in forward
encoder_outputs = self.encoder(
File "C:\Automatic1111\venv\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Automatic1111\repositories\BLIP\models\med.py", line 445, in forward
layer_outputs = layer_module(
File "C:\Automatic1111\venv\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Automatic1111\repositories\BLIP\models\med.py", line 361, in forward
cross_attention_outputs = self.crossattention(
File "C:\Automatic1111\venv\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Automatic1111\repositories\BLIP\models\med.py", line 277, in forward
self_outputs = self.self(
File "C:\Automatic1111\venv\lib\site-packages\torch\nn\modules\module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Automatic1111\repositories\BLIP\models\med.py", line 178, in forward
attention_scores = torch.matmul(query_layer, key_layer.transpose(-1, -2))
RuntimeError: The size of tensor a (9) must match the size of tensor b (81) at non-singleton dimension 0
I really would like to be able to select more than one image from the main window, and then hit "apply changes to selected imageS" when I have many with the same caption. I am currently going through large datasets and selecting each image to edit is not fun. Yes Im using this to create captions. NOT just to edit
Hi,
I'm not sure exactly how to explain or if this is by design or a limitation, but if I select a tag firsttag(10) and then secondtag(5) the end results is only the images with both of those tags, which I was thinking it would keep all images with any of those tags, not a combination of them. So when I remove those tags, they'll pop back up again with the images that were filtered out because they did have both of the tags I selected.
Basically, when I look at the list and I see tags that I KNOW aren't in my images, I'd like to be able to simply tick all the boxes of the wrong tags and remove them in the edit line... Maybe there needs to be a logic switch to choose the matching/filter strategy? Or maybe even just a switch to turn the filtering on/off?
Thanks
Hi,
Thanks for creating this Extension. It's a huge help.
Before I was editing the text files of my datasets per hand and that just wasn't effective at all.
Speaking of... I didn't find a way to filter out a tag.
2 ideas on how to implement that:
Clicking a Tag a second time (or Alt+Clicking) excludes that tag from the current selection (maybe the Tag is shown red in the UI)
Add a "Add all" Button to "Filter by Selection" (currently you'd have to Enter in every single image that uses a tag; so that you can use "Invert Selection" afterwards)
Thanks for listening!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.