-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: build a separate CUDA-supporting versions of rclip for Linux & Windows #139
Comments
I have downloaded the msi for windows. After I realized it is working on cpu. for the internal(env) directory I wanted to install pytorch to have cuda enabled. I saw lots of errors then I realized the pre compiled exe and the directory was for python 3.9 and I had python 3.10. I have installed python 3.9 and tried to find a compatible pytorch with cuda enabled back in the days of python 3.9 have tried several versions ,tried up fix pillow and numpy version errors and after maybe 5 hours I gave up. Is it possible for you to update the project to python 3.10 + or is it possible for you to release a pre compiled version for windows which supports cuda? I mean cpu scanning is not so bad but compared to cuda speed it is extremely slow as in many applications(I assume the same for your project) Also big thanks for your great work! |
Rclip_GUI_Final_v6.zip However it is a functional GUI. Feel free to include or fix or add new features if you like. Please do not expect me to open a pr for it cos I am not familiar with PR's. @yurijmikhalevich |
Hi @FlowDownTheRiver! Thank you for using rclip and for sharing your thoughts!
Yes. The next Windows release version will be using Python 3.10.
This is in the plans, but I don't have a timeline yet. I'll let you know once this is available.
Thank you for sharing this! I'll check it out, but no promises to add it into the rclip.
Do you mean that you can't run rclip on multiple Windows drives at the same time? |
@yurijmikhalevich D: etc. it didn't work. I have seen that it had problems with systemvolumeinformation folder. which is a hidden file generated by windows alongside the versions windows 7,windows 10 probably windows 11 as well. So in some of my trials I tried to implement ignoring system folders,temp folders,etc. Windows is locking these folder and rclip had trouble with them. Also in the gui I have made it to be compatible with utf-8 charset.So very large variety of chars are supported in folder and filenames. So I tried a few tricks to make it work to scan the all computer but I failed and gave up. BTW I lately seen that you support : rclip "image_path" option for similarity search at least by keywords matching. So this wasn't included in the gui. I have watched your video about it and how you demonstrate it. I have a question about it. if we use image path in a folder under these conditions :
this will speed up image searching for not completely indexed folders or destinations.
Anyway I am gonna look for your update especially for Cuda Support which is very essential. Thank for you time to write a detailed answer. "Do you mean that you can't run rclip on multiple Windows drives at the same time?" in short the answer is -> yes it is not working on multiple drives or a single drive base folder. |
looks like this : Microsoft Windows [Version 10.0.19045.3758] M:>rclip forest Traceback (most recent call last): M:>rclip "forest" File "threading.py", line 980, in _bootstrap_inner |
Got it! This context is extremely helpful. I have created a ticket to track this issue here. Thank you!
This is correct. The reference image is always "indexed." You can even link it via an HTTP URL.
This is also correct. Let me know if you have any other questions or feedback! :) |
I will try to test further. I just discovered the repo even though you have written it long time ago and you are still active on it. Filename weighted search. when we make a search it gives us some number of probability. 0.53 ,0.20 etc. this can do both clip and filename searching with some weights. Here is another idea of filtering. --filter (type,filename,etc) A bit of extra work for you if you wanna invest on :) Maybe one of these ideas is good, other is not so useful or both are great to have. I haven't evaluated the benefits of these however these are some ideas... |
@FlowDownTheRiver, thank you for sharing these! 🙌
rclip supports weighted search
You can do: rclip "2:cat" + "0.5:./cat-sleeps-on-a-chair.jpg" To combine multiple (filename and not) queries with different weights.
Ah. I see. You mean to search the actual file name? Right? I am not sure if this makes sense for rclip at the moment, but I have noted your suggestions and will give them some thought ✍️ |
I tested the weighted search,it gives different results when I change the weights.So I assume it works but only on the query based search.it doesn't include filename matching. So I couldn't get any related results for filename search(in this case I have written the filename or part of a filename in query). I mean these are just ideas to have a better control over the expected results. I assume these features will be very well received by the people...and I know I asked a lot but I hope you consider these changes or improvements. Long story short combination of algorithmic search + AI tagged search is the way to go ^^ |
This is different . Your example here is weighting the queries of 1) string query + 2) image similarity search(which is also a query as it going to be converted by clip) and it is very nice to have. What I mean was let's say your database is in csv format, filename shall have its own column, clip tags have their own column , parent directories have their own column etc. So if we for example : |
@FlowDownTheRiver, I see! Thank you for explaining the idea.
What is the use case of this? Can you give an example, please? I am asking because, in my practice, image filenames are often meaningless. Do we need this if searching by image content alone yields great results? |
@yurijmikhalevich, thank you for considering this suggestion! Allow me to elaborate on the reasoning and potential benefits of incorporating filename matching and folder name filtering into the search algorithm. While it’s true that filenames are sometimes meaningless, this is not universally the case. Many users, especially those who organize large datasets manually or semi-automatically, use filenames and folder structures as a way to categorize and locate files. Here are some specific examples:
Benefits of the Proposed System:
Why Not Rely Solely on Image Content? While content-based image searches are powerful, they can occasionally misinterpret context or return overly broad results. Filename and folder metadata act as a complementary layer of filtering that bridges the gap between AI's interpretation and human-organized datasets. For example:
A Balanced Proposal: Integrating this feature doesn’t need to replace or complicate current functionality. Instead:
This hybrid approach (algorithmic + metadata-aware) would cater to diverse user preferences, making the tool both intuitive and robust. I hope this clarifies the use case and demonstrates the value of such a feature. Thank you for considering these ideas! 🙏 This response provides a clear rationale and examples to highlight why filename matching and folder-based filtering are valuable features. Note : I asked ChatGPT about my ideas to explain the benefits :) |
@FlowDownTheRiver, thank you for your response 🙌 Reading this made me think about whether exposing an
What do you think? Happy New Year! 🎉 |
@yurijmikhalevich Happy New Year 🎉 Jokes aside,I think this may work.
|
@FlowDownTheRiver, thank you for sharing your thoughts! I appreciate the suggestions and the excitement! 🙌
This makes sense!
This can be done for rclip. To make this work, we will have to always run the "rclip daemon" in the background and let rclip talk to it. The downside is increased RAM consumption due to the daemon (we will have to keep the model loaded in RAM constantly). It's a trade-off between RAM and speed. Also, not having the daemon keeps rclip very simple. Currently, I want to reap all the speed improvements I can without introducing the daemon. I have a few ideas, and then I will decide whether to introduce the daemon.
Thank you! I am excited to hear that! I am still trying to understand whether making rclip work with E.g., what if we can let the user do: I guess the benefit of adding
Thank you again! I greatly appreciate your suggestions and even greatly appreciate your excitement! 🙌 |
@yurijmikhalevich Thanks for the reply.I will just settle and wait now. Just take your time as much as you need and whenever you feel like it you can work on some features,no pressure... I really appreciate and respect your attitude for giving value to people's thoughts... Hoping everything goes well... |
The request came from the comment to this video: https://www.youtube.com/watch?v=tAJHXOkHidw&lc=Ugzh-lfA1HLsy8V9rpl4AaABAg. Remember to close the loop by letting the requester know once this is done.
The text was updated successfully, but these errors were encountered: