Python Rembg 学习笔记,持续记录

Rembg 是一个基于 Python 的背景去除工具,它使用深度学习技术来从图像中去除背景。

Rembg

开源地址:https://github.com/danielgatis/rembg

1.基础知识

相关名词介绍:

  • U2-Net是由Xuebin Qin等人开发的一种用于显著目标检测(Salient Object Detection, SOD)的深度学习模型。
  • ONNXRuntime是由微软推出,用于优化和加速机器学习推理和训练,适用于ONNX模型,是一个跨平台推理和训练机器学习加速器(ONNX Runtime is a cross-platform inference and training machine-learning accelerator)
  • Rembg和U2-Net之间的关系是工具与核心算法的关系,Rembg利用U2-Net作为其图像分割的引擎。

开源地址:

2.安装和使用

详见Github仓库的说明:https://github.com/danielgatis/rembg

# 下载源文件
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

# 解压 
tar -zxvf Python-3.6.5.tgz

# 安装依赖
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

# 编译
./configure --prefix=/root/training/Python-3.6.5
make
make install

# 添加环境变量
vim ~/.bashrc

3.关于训练模型

  • 数据收集:人工或自动化工具收集数据,这可能包括从数据库、文件、网络或其他数据源获取数据。
  • 数据清洗:人工检查数据集,识别并处理缺失值、异常值和错误数据。
  • 特征选择:人工或使用自动化算法选择对模型预测有用的特征。
  • 数据标注:对于监督学习,需要人工标注数据,例如在图像识别中标记图像中的物体,在文本分类中为文本分配类别标签。
  • 数据分割:人工或使用自动化方法将数据集分割为训练集、验证集和测试集。
  • 模型选择:根据问题的性质和数据的特点,人工选择或设计一个合适的模型。
  • 模型配置:人工设置模型参数,如神经网络的层数和节点数,选择损失函数和优化器。
  • 训练过程:通常由自动化脚本执行,但人工可能需要监控训练过程,调整参数以优化模型性能。
  • 模型评估:使用验证集或测试集评估模型,人工分析评估结果,确定模型是否满足要求。
  • 模型调优:根据评估结果,人工调整模型结构或参数,进行超参数优化。
  • 模型验证:人工验证模型在实际应用中的性能,确保模型的泛化能力。
  • 模型部署:将训练好的模型部署到生产环境,可能需要人工配置和监控。

4.pip镜像

相关地址:https://mirrors4.tuna.tsinghua.edu.cn/help/pypi/

5.其它包管理

PDM:https://github.com/pdm-project/pdm

PipEnv:https://pipenv.pypa.io/en/latest/

6.问题记录

importing onnxruntime_pybind11_state: 找不到指定的模块

安装VC_redist:https://aka.ms/vs/16/release/VC_redist.x64.exe

卷积神经网络 

卷积神经网络(Convolutional Neural Networks,CNN)是人工智能领域中一种重要的深度学习模型,被广泛应用于图像识别、目标检测、自然语言处理等领域。

1.大模型平台

Python项目

收集一些很厉害的Python仓库: