chn-lee-yumi / MaterialSearch

AI语义搜索本地素材。以图搜图、查找本地素材、根据文字描述匹配画面、视频帧搜索、根据画面描述搜索视频。Semantic search. Search local photos and videos through natural language.
GNU General Public License v3.0
863 stars 117 forks source link

NAS上doctor 容器配置好数据文件保存位置,但是扫描后本地没有任何文件,怎么回事,这个扫描数据怎么保存到本地? #100

Closed KENUNK closed 3 months ago

KENUNK commented 3 months ago

NAS上doctor 容器配置好数据文件保存位置,但是扫描后本地没有任何文件,怎么回事,这个扫描数据怎么保存到本地?想用电脑扫扫描生成数据文件给nas用,可以吗,因为nas硬件低扫描慢,image image image 还有运行提示用的这个模型 IDEA-CCNL/Taiyi-CLIP-Roberta-102M-Chinese ,说明文件里面是OFA-Sys/chinese-clip-vit-base-patch16 这个模型,这两个模型那个好一些,

chn-lee-yumi commented 3 months ago

还有运行提示用的这个模型 IDEA-CCNL/Taiyi-CLIP-Roberta-102M-Chinese ,说明文件里面是OFA-Sys/chinese-clip-vit-base-patch16 这个模型,这两个模型那个好一些,

我检查了一下阿里云的镜像构建,发现cn-guangzhou区域有点问题,最新的镜像是去年的。我现在已经更新了镜像,你可以重新拉一次试试。

NAS上doctor 容器配置好数据文件保存位置,但是扫描后本地没有任何文件,怎么回事,这个扫描数据怎么保存到本地?

环境问题请自行解决

想用电脑扫扫描生成数据文件给nas用,可以吗,因为nas硬件低扫描慢,

可以,把assets.db复制过去就行,所有扫描的文件的绝对路径要保持一致

KENUNK commented 3 months ago

重新拉了镜像,模型换过来了,配置数据路径和环境变量也生效了, 估计之前镜像有问题,问题都解决了!

KENUNK commented 3 months ago

好像不可以用电脑扫描在复制到nas,电脑扫描路径是\目录\斜杠路径,数据复制到nas只有数量显示不显示图片,nas扫描的是/目录/ 斜杠方向不一致,不能被识别,有什么方法可以通用

chn-lee-yumi commented 3 months ago

好像不可以用电脑扫描在复制到nas,电脑扫描路径是\目录\斜杠路径,数据复制到nas只有数量显示不显示图片,nas扫描的是/目录/ 斜杠方向不一致,不能被识别,有什么方法可以通用

因为路径不一致,所以会这样。一个可能的解决办法是扫描完成后手动修改数据库,批量更改路径,这个可能需要一些编程技能。

KENUNK commented 3 months ago

还有别的方法没,代码中加上对路径预处理转换吗?或者修改数据库,这个容易吗, nas十万张图很视频 扫到猴年去了。。。

chn-lee-yumi commented 3 months ago

还有别的方法没,代码中加上对路径预处理转换吗?

可以,需要你自己改代码

或者修改数据库,这个容易吗

我觉得挺容易的,不过也需要你自己动手

KENUNK commented 3 months ago

求教,具体在哪加,我自己加,目前没有头绪在哪加,加什么

KENUNK commented 3 months ago

或者数据怎么批量改路径,求思路方法,不然太难搞了,nas cpu扫爆了 0.0....

chn-lee-yumi commented 3 months ago

你的需求过于定制化,我没有精力提供支持。

KENUNK commented 3 months ago

DB Browser 数据库管理软件可以修改路径,测试成功了。

KENUNK commented 3 months ago

修改了数据库创建代码,写入数据文件路径时统一路径风格为linux 路径,几行代码就搞定了,比批量改数据库路径更方便,给后期想这样 搞得提供点思路。

chn-lee-yumi commented 3 months ago

修改了数据库创建代码,写入数据文件路径时统一路径风格为linux 路径,几行代码就搞定了,比批量改数据库路径更方便,给后期想这样 搞得提供点思路。

欢迎你把修改过的代码贴出来,方便其他人。

KENUNK commented 3 months ago

def convert_path_to_linux(path): """ 将Windows路径转换为Linux路径,并去掉前面的网络路径部分 """

移除前面的网络路径部分

if path.startswith('\\\\'):
    path = path.split('\\', 3)[-1]
# 转换为正斜杠,并在前面加上一个正斜杠
return '/' + path.replace('\\', '/')
KENUNK commented 3 months ago

这个适用于我的环境,其他需求可以自己改,先把nas 文件目录映射到本地扫描,扫描后用把数据库放入nas,配置环境变量目录就统一了,取消了映射网络路径,方便配置环境变量统一路径。

KENUNK commented 3 months ago

models.py 添加到这个文件中