MobileSAM 是視覺大模型 SAM 的輕量版。普通電腦也可快速體驗視覺大模型。
本文假設您已安裝 CUDA v12.1 、Anaconda、Git。
依次執行以下命令進行安裝。
1、創建環境
conda create --name sam python=3.9
2、激活環境
conda activate sam
3、安裝pytorch
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
4、安裝MobileSAM依賴包
pip install onnxruntime==1.17.1
pip install opencv-python pycocotools matplotlib onnx
pip install torchpack onnxsim
pip install ruff==0.2.2
pip install gradio==4.19.2
pip install timm
5、下載MobileSAM源碼
git clone https://github.com/ChaoningZhang/MobileSAM.git
6、源碼安裝MobileSAM
cd MobileSAM
pip install -e .
7、體驗 MobileSAM v1 版
cd MobileSAM/app
python app.py
8、體驗 MobileSAM v2 版
需先下載模型權值文件 https://drive.google.com/file/d/1dE-YAG-1mFCBmao2rHDp0n-PP4eH7SjE/view?usp=sharing 解壓到 MobileSAM\MobileSAMv2\weight 目錄中。
cd MobileSAM/MobileSAMv2
python Inference.py --img_path ./test_images/ --output_dir ./test_outputs/ --encoder_type efficientvit_l2
如果分割結果太細碎,可調整參數conf。如:
python Inference.py --img_path ./test_images/ --output_dir ./test_outputs/ --encoder_type sam_vit_h --conf 0.9
CentOS7 主機:192.168.123.231
Windows 10客戶機訪問
1.安裝
[root@asan ~]# rpm -qa|grep samba
samba-client-libs-4.10.16-9.el7_9.x86_64
samba-client-4.10.16-9.el7_9.x86_64
samba-common-4.10.16-9.el7_9.noarch
samba-common-libs-4.10.16-9.el7_9.x86_64
[root@asan ~]# yum -y install samba
2.查看配置文件smb.conf
[root@asan ~]# cat /etc/samba/smb.conf
[global]
workgroup=SAMBA
security=user #默認基于用戶驗證
passdb backend=tdbsam
printing=cups
printcap name=cups
load printers=yes
cups options=raw
[homes]
comment=Home Directories
valid users=%S, %D%w%S
browseable=No
read only=No
inherit acls=Yes
[printers]
comment=All Printers
path=/var/tmp
printable=Yes
create mask=0600
browseable=No
[print$]
comment=Printer Drivers
path=/var/lib/samba/drivers
write list=@printadmin root
force group=@printadmin
create mask=0664
directory mask=0775
3.創建共享文件夾并添加訪問權限
[root@asan ~]# mkdir /myshare
[root@asan ~]# chmod -Rf 777 /myshare/
4.創建用戶用于訪問samba服務的一些用戶
[root@asan ~]# useradd -s /sbin/nologin u1 #不用登錄系統,故shell設置成nologin
[root@asan ~]# useradd -s /sbin/nologin u2
[root@asan ~]# pdbedit -a u1 #將用戶添加到Samba數據庫中
[root@asan ~]# pdbedit -a u2
[root@asan ~]# pdbedit -L #查看目前Samba數據庫中的用戶
u1:1002:
u2:1003:
5.編輯配置文件
[root@asan ~]# vim /etc/samba/smb.conf
5.1末尾添加如下配置:
[myshare]
comment=my share #注釋
path=/myshare #共享文件夾路徑
browseable=yes #可讀
writeable=yes #可寫
5.2檢查配置是否正確
[root@asan ~]# testparm -s /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE
6.重啟Samba服務
[root@asan ~]# systemctl restart smb
7.訪問測試
7.1初次訪問
無法訪問
無法訪問,原因:防火墻開著
[root@asan ~]# firewall-cmd --add-service=samba --permanent #防火墻添加訪問規則
success
[root@asan ~]# firewall-cmd --reload #重新加載防火漆規則
success
7.2再次訪問
輸入用戶和密碼
文件夾打開提示無權限
提示無權限
[root@asan ~]# getenforce
Enforcing
原因:SElinux訪問控制機制(資源控制)
解決方法:
查看共享文件夾的安全上下文
[root@asan ~]# ll -dZ /myshare/
drwxrwxrwx. root root unconfined_u:object_r:default_t:s0 /myshare/ #default_t 在SELinux打開下此安全級別無法訪問
[root@asan ~]# more /etc/samba/smb.conf.example
samba中SElinux描述
[root@asan ~]# chcon -R -t samba_share_t /myshare/ #改變安全上下文
[root@asan ~]# ll -dZ /myshare/ #再次驗證
drwxrwxrwx. root root unconfined_u:object_r:samba_share_t:s0 /myshare/
第三次訪問
正常訪問
擴展:se布爾值
[root@asan ~]# getsebool -a
部分
[root@asan ~]# getsebool -a|grep samba
與samba相關
samba_enable_home_dirs --> off #用戶家目錄時候允許訪問,off不允許,on允許
家目錄無法訪問
[root@asan ~]# setsebool samba_enable_home_dirs on
開啟
訪問家目錄
可以訪問
總結:
Samba服務
1.安裝
2.配置
3.啟動
4.訪問
5.權限
6.相關:防火墻與SElinux