🚀 Google Safesearch Mini V2
Google Safesearch Mini V2 是一款超精確的多類別圖像分類器,能夠準確檢測圖像中的敏感內容。它可用於社交媒體審核,也能對數據集進行過濾。與穩定擴散安全檢查器相比,使用該模型可節省 1GB 的內存和磁盤空間。
🚀 快速開始
Safesearch v3.1 已發佈
✨ 主要特性
- 高精度檢測:經過多輪訓練和優化,在訓練和驗證數據上達到了 97% 的準確率,能準確識別圖像中的敏感內容。
- 節省資源:相比穩定擴散安全檢查器,可節省 1.0GB 的 RAM 和磁盤空間。
- 多數據源訓練:使用來自 Google Images、Reddit、Kaggle 和 Imgur 等平臺的約 340 萬張圖像進行訓練,數據豐富多樣。
📦 安裝指南
安裝 PyTorch 依賴
pip install --upgrade torchvision
💻 使用示例
基礎用法
import torch, os
from torchvision import transforms
from PIL import Image
import urllib.request
import timm
image_path = "https://www.allaboutcats.ca/wp-content/uploads/sites/235/2022/03/shutterstock_320462102-2500-e1647917149997.jpg"
device = "cuda"
def preprocess_image(image_path):
transform = transforms.Compose([
transforms.Resize(299),
transforms.CenterCrop(299),
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
])
if image_path.startswith('http://') or image_path.startswith('https://'):
import requests
from io import BytesIO
response = requests.get(image_path)
img = Image.open(BytesIO(response.content)).convert('RGB')
else:
img = Image.open(image_path).convert('RGB')
img = transform(img).unsqueeze(0)
img = img.cuda() if device.lower() == "cuda" else img.cpu()
return img
def eval():
model = timm.create_model("hf_hub:FredZhang7/google-safesearch-mini-v2", pretrained=True)
model.to(device)
img = preprocess_image(image_path)
with torch.no_grad():
out = model(img)
_, predicted = torch.max(out.data, 1)
classes = {
0: 'nsfw_gore',
1: 'nsfw_suggestive',
2: 'safe'
}
print('\n\033[1;31m' + classes[predicted.item()] + '\033[0m' if predicted.item() != 2 else '\033[1;32m' + classes[predicted.item()] + '\033[0m\n')
if __name__ == '__main__':
eval()
📚 詳細文檔
Google Safesearch Mini V2 在訓練方法上與 V1 不同,它採用了 InceptionResNetV2 架構,並使用了約 340 萬張從互聯網隨機獲取的圖像進行訓練,其中部分圖像通過數據增強生成。訓練和驗證數據來自 Google Images、Reddit、Kaggle 和 Imgur 等平臺,並由相關公司、Google SafeSearch 和審核人員將其分類為安全或不適宜內容。
模型首先使用交叉熵損失訓練 5 個週期,並在訓練集和驗證集上進行評估,識別預測概率低於 0.90 的圖像,對整理後的數據集進行必要的修正後,再訓練 8 個週期。之後,在各種可能難以分類的情況下測試模型,發現它會將棕色貓的皮毛誤識為人類皮膚。為提高準確性,使用 Kaggle 上的 15 個額外數據集 對模型進行一個週期的微調,最後結合訓練和測試數據再訓練一個週期,最終在訓練和驗證數據上達到了 97% 的準確率。
📄 許可證
本項目採用 Apache-2.0 許可證。
屬性 |
詳情 |
模型類型 |
圖像分類器 |
訓練數據 |
約 340 萬張來自 Google Images、Reddit、Kaggle 和 Imgur 的圖像,部分通過數據增強生成 |
評估指標 |
準確率 |
庫名稱 |
timm |