EfficientSAM 项目排坑
- 任务
- 过程记录
- 创建环境
- 运行示例
任务
跑通这个项目代码
过程记录
创建环境
readme里没有说具体怎么配置环境,所以可能对我来说还挺困难的。
现把项目git下来:
git clone https://github.com/yformer/EfficientSAM.git
cd EfficientSAM/
看到项目里面有个setup.py,等下用他安装。但python版本还没确定,我现尝试用python3.10吧:
conda create -n EFF_SAM python=3.10
conda activate EFF_SAM
pip3 install empy rospkg pyyaml catkin_pkg
python setup.py install
没有报错,希望后面能正常使用。
运行示例
似乎预训练参数和数据都已经有了,分别在weights文件夹和figs文件夹中。看readme说有Jupyter Notebook Example,那就看看怎么用吧.
我在vscode中打开,运行给我报了些没有包的错,一个个装上就好了:
pip install ipykernel ipython
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
再运行第一步的import就每毛病了。
然后他还有个git的一步,我们已经git好了,就给他改下就行:
# !git clone https://github.com/yformer/EfficientSAM.git
import os
# os.chdir("EfficientSAM")
os.chdir('..')
下面一段程序又报错:
然后参考项目的一个issue:
糟糕!这个模块现在没有了!
没办法,只能去测试运行下另一个脚本。
报错没有cv2,那就安装:
pip install opencv-contrib-python
import没问题了,继续git SAM,然后定义函数,然后切换目录:
# !git clone https://github.com/yformer/EfficientSAM.git
import os
# os.chdir("EfficientSAM")
os.chdir('..')
然后检查模型,然后运行测试:
我的电脑在1分半跑完了。
差不多,到此为止吧。
又看了下,发现之前的问题也不是大问题。他只是squeeze_sam_model这个模型找不到了而以。把用到他的全部注释掉就能正常运行:
此外,那个单独的脚本运行起来也没毛病:
python EfficientSAM_example.py
至于训练,作者说现在代码里有很多内部依赖,没法开源,等解决了会放出来。方法类似MAE,可以把自己的数据集描述为SAM那个数据集格式然后微调。有一个人似乎在按照论文思路复现这个。