首页 > 其他分享 >不可以色色!使用autodl平台搭建深度学习模型实现自动“鉴黄”!

不可以色色!使用autodl平台搭建深度学习模型实现自动“鉴黄”!

时间:2024-11-15 21:45:09浏览次数:3  
标签:autodl 色色 label nsfw import 鉴黄 model logits 图片

Falconsai

色情内容

色情内容是非常有害的,它们既不符合我国的法律也要求,同时也毒害了人们的思想精神。在过去,通过使用人工“鉴黄”的方式,找一个专门的工作者,去判断一个内容是否是色情内容,虽然,他们通过努力不懈,阻止了色情内容的传播,但是,这样的工作对于鉴黄师本人来说,却是很大的心灵伤害。

好在,随着科技的发展和进步,现在的深度学习模型,已经可以完成由ai鉴别这些不合适的内容了,让这些淫秽内容无处遁形,净化网络空间,打击不法犯罪,与“黄毒赌”不共戴天!

nsfw模型

NSFW的图像检测,是指识别图像中的不适合工作场合的内容,其中nsfw,即not safe for work,翻译为不适合工作场合,主要就是指包含色情和裸露的内容。这些内容通常不应该在上班工作的时候看,这样做不符合职业道德,可能让他人感到反感,当然,如果被老板发现了,还可能被扣工资,甚至解雇。

FalconsAI NSFW是基于Vision Transformer架构的模型,其可以将图片分类为两类,nsfw和normal,也即不合适的图片和正常的图片,它的主要功能可能包括内容审核,广告过滤等。Vision Transformer也即ViT,是一种图像分类模型,将图像划分为多个小图像块,然后将其编码,具有强大的图像分类能力,和传统的卷积神经网络并不相同。根据官方介绍,训练该模型使用了约80000图片,不过由于是属于专有数据集,并未开放提供下载和查看。

补充介绍:falcon是英语中的“鹰”的意思,也叫“隼”,隼(读音sun,三声,是一种鸟,不是那个爱止痛的隼)。

官方地址可以参考:nsfw_image_detection

 autodl

autodl介绍

说起深度学习模型的训练以及使用,就必须要有强力的显卡以及合适的运行环境。但是,很多人并不具备这样的条件,提起ai深度学习,遇到的最多的一个问题就是:“我没有好显卡,买一个太贵了,但是还想进行深度学习,怎么办?”

那还用问吗?当然是租一个!autodl就是这样一个可以租显卡的平台。不仅可以租显卡,而且该平台已经提供了全套的运行环境,还有丰富的帮助手册,扫清ai路上的一切障碍。

autodl租显卡,可以使用其官网:autodl深度学习

深度学习环境搭建

第一步:我们选择“算力市场” 

第二步:选择一个需要的GPU,例如3080Ti

第三步:选择python运行环境,例如pytorch,免安装环境的烦恼 

第四步:在控制台找到实例,连接使用 

 

此时,我们就可以按照自己需要,随意的运行深度学习模型了。

nsfw模型搭建

模型下载

如果要使用该模型,最主要的包括如下几个部分:

pytorch_model.bin

config.json 

preprocessor_config.json

 将其下载,并放于某个文件目录中,例如model

单一图片检测

import torch

from transformers import AutoModelForImageClassification, ViTImageProcessor
from PIL import Image


# 在这里填写模型的路径
model = AutoModelForImageClassification.from_pretrained("./model")
processor = ViTImageProcessor.from_pretrained("./model")


# 在这里填写图片的路径
img = Image.open("images/1.png").convert("RGB")


with torch.no_grad():
    inputs = processor(images=img, return_tensors="pt")
    outputs = model(**inputs)
    logits = outputs.logits


predicted_label = logits.argmax(-1).item()
label = model.config.id2label[predicted_label]

# normal即为正常图片
# nsfp即为不适合的图片
print(f"预测标签: {label}")

色情图片概率分析

上面方法的判断直接提供一个最终结果,如果你想知道图片判断的概率(也即,有多大的可能性是nsfw图片),可以尝试使用这段代码。

一般来说,越接近nsfw的图片,概率就会越高,反之就会越低。

import torch
import torch.nn.functional as F

from PIL import Image
from transformers import AutoModelForImageClassification, ViTImageProcessor


img = Image.open("images/1.png").convert("RGB")

model = AutoModelForImageClassification.from_pretrained("./model")
processor = ViTImageProcessor.from_pretrained("./model")


with torch.no_grad():
    inputs = processor(images=img, return_tensors="pt")
    outputs = model(**inputs)
    logits = outputs.logits


probabilities = F.softmax(logits, dim=-1)
for idx, score in enumerate(probabilities[0]):
    label = model.config.id2label[idx]
    print(f"类别: {label}, 概率: {score.item():.4f}")

检测文件目录

遍历整个文件目录,分析其中的图片是否包含nsfw图片,默认只会检测常见的几种图片扩展名后缀,不会检测其他未知类型的文件。如果你需要使用更多的图片扩展名,需要适当修改代码。

import os
from PIL import Image
from transformers import AutoModelForImageClassification, ViTImageProcessor
import torch


def detect_nsfw_in_folder(folder_path):
    model = AutoModelForImageClassification.from_pretrained("./model")
    processor = ViTImageProcessor.from_pretrained("./model")

    for filename in os.listdir(folder_path):
        if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp')):
            image_path = os.path.join(folder_path, filename)

            try:
                img = Image.open(image_path).convert("RGB")
                inputs = processor(images=img, return_tensors="pt")

                with torch.no_grad():
                    outputs = model(**inputs)
                    logits = outputs.logits

                predicted_label = logits.argmax(-1).item()
                label = model.config.id2label[predicted_label]

                if label.lower() == 'nsfw':
                    print(f"检测到不适宜图像: {filename}")
            except Exception as e:
                print(f"无法处理图像: {filename}, 错误: {e}")


detect_nsfw_in_folder("./images")

标签:autodl,色色,label,nsfw,import,鉴黄,model,logits,图片
From: https://blog.csdn.net/jiaowoyefan/article/details/143808039

相关文章

  • [已解决·实验日志] AutoDL系统盘异常爆满,原因是debug 途中退出(ctrl+c),导致缓存文件
    今天照常debug中途退出,准备服务器GPU关机,突然看到系统盘爆满,顿时血压升高,咱来一探究竟参考文档:AutoDL帮助文档 (系统盘空间不足)Linux常用命令-CSDN博客cd/去到根目录看看,究竟是哪个文件夹占空间,使用du-sh命令来递归显示文件夹所占空间du-sh发现是tmp异常大,进......
  • 【Autodl】相关问题
    1、系统盘和数据盘系统盘一般固定为30G,数据盘可扩充,因此,大文件可以下载到数据盘中,避免内存不够导致下载失败。具体为:将文件下载到autodl-tmp文件夹下2、移动文件位置若想要挪动文件位置,可以使用sudomvdir1dir2sudomv/path/to/source_folder/path/to/destination_di......
  • 【大模型专栏—入门篇】CUDA入门与AutoDL“炼丹”
    大模型专栏介绍......
  • 将autodl服务器连接到Pycharm上使用
    第一步下载专业版pycharm(可以找那种破解版)第二步autodl算力市场选择合适的显卡、计费方式、框架、充值、找个空闲的开机第三步打开专业版pycharm,主菜单-设置-python解释器-添加解释器-ssh 第四步回到autodl复制登陆指令,填写到主机位置,五位数字就是端口,root就是用户名......
  • AutodL训练yolov9
    AutodL训练yolov9全过程1、租借Autodl服务器:AutoDL算力云|弹性、好用、省钱。租GPU就上AutoDL选择环境,直接选择镜像,yolov9官方2、创建完成:点击Jupyterlab进入服务器,到这里服务器租用完成2、下载yolov9官网代码:https://github.com/WongKinYiu/yolov93、进入服务器,上......
  • Llama2大语言模型在云GPU(AutoDL)上进行训练微调(自定义数据集)
    Llama2是Meta开源的语言大模型,它经过训练的数据集包含2万亿个token。相比Llama,Llama2的上下文长度已经从2048扩展到4096,这使其能够理解和生成更长的文本。Llama2包括了多个模型,分别是7B、13B和70B的模型。一、准备工作在autodl平台租用实例(直接搜索,有许多租用教程,建议租......
  • 算力云平台AutoDL使用
    AutoDL算力云|弹性、好用、省钱。租GPU就上AutoDL这个是网址 在算例市场中挑选自己想要的配置选好之后点击1卡可租在这有基础镜像社区镜像我的镜像三种基础镜像就是选择你自己的环境假如你用的是python可以选择第一种然后运行这些命令就可以了社区镜像主要......
  • 详细教程:AutoDL如何配置深度学习环境?
    摘要:本文在AutoDL提供的JupyterLab中配置了深度学习环境。首先创建了base环境,然后创建了自己的环境(命名为x9py38),并在x9py38环境中安装了一些深度学习包,具体包括PyTorch、jupyterd2l和ipykernel。一、创建环境进入JupyterLab,具体操作如图所示。进入终端。在终端中输入v......
  • AutoDL 使用记录
    AutoDL使用记录1.租用新实例创建实例需要依次选择:计费方式\(\to\)地区\(\to\)GPU型号与数量\(\to\)主机注意事项:主机ID:一个吉利的机号有助于炼丹成功价格:哪个便宜选哪个最高CUDA版本:影响了后面的环境配置支持网盘:尽量选择支持网盘,后面传数据集会好些镜像......
  • AutoDL跑深度学习代码
    前言:写这篇文章主要是记录自己租用云服务器并跑复现深度学习论文代码的过程。租用服务器租用好后,就能够在容器实例中查看。配置conda环境对自己租好的容器实例进行开机,点击JupyterLab-->终端,进入Linux系统终端。进入之后,输入vim~/.bashrc,按i进入vim的编辑模式,移动到......