0

58

pytorch卷积神经网络人脸识别示例实现详解

周末在家把孩子们用来玩游戏的 N 卡(2800ti魔改22G版)的 CUDA 环境搭建好了,趁着这几天休假复习了一些深度学习内容后的热情还在,赶紧使用 pytorch 练练手。

准备

1)使用pytorch

为什么建议使用 pytorch 来构建卷积神经网络呢?因为 pytorch 是基于 python 开发的一个神经网络工具包,它已经实现了激活函数定义、权重矩阵定义、卷积计算、正向传播、反向传播、权重矩阵更新等神经网络的基本操作,而不需要我们再去编写代码实现这些功能,只需调用相应的函数就可以搭建好我们所需的网络结构。pytorch 极大方便了我们构建神经网络,加快了神经网络开发速度,我们只需要关注网络的结构层次,而不用关心所建立的网络具体训练和预测过程。

2)安装pytorch

pytorchCPU 版和 GPU 版,GPU 版需要使用到英伟达的显卡来加快网络速度,安装过程也稍显复杂。本文重点是对python卷积神经网络示例解析,因此安装 CPU 版。在 pycharm 开发工具的终端中直接执行命令:pip install torch torchvision torchaudio,即可完成 pytorchCPU 版本安装。

3)准备训练和测试资源

因为使用 pytorch 开发卷积神经网络实现人脸识别,pytorch 对数据存放有一定要求,因此需要将相关资源放在特定的目录结构下。训练目录和测试目录结构如下图所示,在文件夹中放入相应的图片资源即可。文件路径可以自行定义,但是同一个人的照片必须放在同一个文件夹下,pytorch 根据该文件夹的名称自动将相应的图片资源归于一类。

……

乐果   发表于   2025 年 02 月 16 日 标签:pytorch 继续阅读

0

51

深度学习的一些感想与基本概念

最近的 Deepseek 把人工智能推向了风口浪尖。虽两年前买了一些书学习了这方面的基础理论知识,但基本上没亲自练手过,工作上也没有练手的机会,唯有节假日空闲之余翻书或看看这方面的推文。本来一直以为自己是爱学习的,也曾一度庆幸在一家足够包容的公司, 给足了空间以自我驱动的方式,自己能在个人学习成长与公司利益诉求中能做到统一, 就像喜欢的那部《猎罪图鉴》电视剧中的天才画师一样,可以做到殊途同归…… 但最后发现还是我想法肤浅了,现实中我既没有那个恃才傲物的才能,也很难遇到包容大度与慧眼前瞻并存的雇主。

诚然,每个人思维都是受成长环境所局限的,没有对错,只有所站在的立场不同而已。不能抱怨世道的不公,唯有让自己更加努力。

一年前,当刚接触开源 扩散模型 框架( Stable Diffusion WebUIComfyUI)时,就被它深深吸引,彼时深刻领悟到 AIGC 的魅力以及今后它可能给世界带来的变化,也因此曾一度向公司建言要关注这方面的能力建设,但公司的基因是由Leader决定的。

Deepseek 横空问世,让我越来越觉得作为普通人,应该更加有人工智能的基本素质要求。回顾计算机科学的发展,从互联网到物联网,从PC端到移动端,每一次科技发展无不带来一次崭新的机会,但同时也无不带来一次生存危机。而有些人、有些公司依然在老模式里,沉浸于旧梦中,局限于眼前。亦或依然看低这场技术所带来的潜在机会和危机,仅仅从表象去看待、被动应用,而非从公司能力、个人能力去提升核心竞争力。在我看来,这是一件作为一家豪以“科技”而冠名的公司,和以技术为职业的人不可理喻的事情。

但现实往往是这样,当你实力不够、或处在人生虚弱关口时,虽有想法但也无力为梦想去追逐。

岁月如梭,已不再少年。

在国内的这种没有工程师文化,普遍以逐利为主的商业文化大环境下,所谓的个人技术理想也许只能当做爱好来修行了。特别在深圳,以时间和效率而生的城市里,容不下像深度求索这种公司的慢工出细活的匠心企业。

既然有这个认知,我也无所疑惑。不管今后没有机会继续做技术,但我觉得始终不能与时代的技术发展脱节,它可以是爱好兴趣、可以是炫技的资本,也可以是生活的调味剂。

在技术世界里,当你认知得越多,越觉得这个世界的无趣。就像技术的鄙视链一样,往往是你还没掌握的东西,在你心目中的地位越高。因此那些你掌握的东西,在你心目中已然不值得一提了。因此对这个世界保持好奇心,是进步的动力源泉。那么,我想接下来的时间,我将会尽量利用我的业余时间,踏实解开人工智能的理论基础 深度学习 的面纱。也许今后我没有机会因为它而去找份像样的工作,但我觉得它是我理解这个新世界的基础。

……

乐果   发表于   2025 年 02 月 14 日 标签:深度学习 继续阅读

0

107

N卡环境下以Docker方式一键部署ComfyUI

之前直接在N卡物理机上跑模型难免因为各种依赖兼容的问题反复折腾, 并且当模型升级时依赖环境又得升级。 特别当跑多个不同模型时,环境的兼容性就成了“鱼与熊掌不可兼得”尴尬。 最近发现可以用Docker方式部署,不得不说英伟达的生态还是非常棒的,也难怪成为显卡一哥。

下面把折腾笔记记录一下。

假设在debian12服务器系统下已安装好如下基础环境:

  • 安装好英伟达显卡驱动;
  • 安装好Docker;

安装英伟达为Docker容器工具包

检查 NVIDIA 容器工具包是否安装:

dpkg -l | grep nvidia-container-toolkit

确认 NVIDIA 容器工具包是否已正确安装

如果没有任何信息出现,则使用以下命令安装:

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
    && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
    && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
 
sudo apt update
sudo apt install -y nvidia-container-toolkit
sudo systemctl restart docker

注意,如果是ubuntu18.04之类的系统,上面步骤是可以的。 但是debian12可能会报错,可能是debian12作为debian最新发行版显卡一哥还没来得及更新。

不过没关系用deiban11也是可以,如下:

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey > /etc/apt/keyrings/nvidia-docker.key
curl -s -L https://nvidia.github.io/nvidia-docker/debian11/nvidia-docker.list > /etc/apt/sources.list.d/nvidia-docker.list
sed -i -e "s/^deb/deb \[signed-by=\/etc\/apt\/keyrings\/nvidia-docker.key\]/g" /etc/apt/sources.list.d/nvidia-docker.list
apt update
apt -y install nvidia-container-toolkit
systemctl restart docker

部署ComfyUI

拉取第三方ConfyUI镜像:

docker pull dockerproxy.net/yanwk/comfyui-boot:cu124-cn

定义工作空间:

mkdir -p /data/comfyui/storage

启动镜像容器:

……

乐果   发表于   2025 年 02 月 08 日 标签:Dockerai 继续阅读

0

61

debian12 服务器版安装Nvidia显卡驱动

自去年3月份折腾扩散模型一段时间后,发现精力不够被迫暂停,后以公司项目上的开发任务为重,后来干脆把那台自有的塔式服务器重新安装了服务版的debian系统,用来测试项目上的各种 shellpython 运维脚本,包括 docker 镜像编译打包制作等的自动化运维脚本。下半年又因想测试一些 docker swarm 集群为此将内存升级到 64G,但那张英伟达 3090 显卡却一直吃灰,没机会用上。

最近 deepseek 爆火,又燃起了捣腾那张 3090 显卡的冲动。因此抽空又重新安装一下模型的 GPU 环境,以便后面有空了再研究一些好玩的东西做准备。

安装必要的依赖工具

sudo apt install dkms build-essential gcc make linux-headers-$(uname -r)

禁止系统自带nouveau显卡驱动

1.修改/etc/default/grub文件,在启动时直接禁用nouveau驱动:

sudo vim /etc/default/grub

在文件中的GRUB_CMDLINE_LINUX参数中加入下面内容:

rd.driver.blacklist=nouveau

更新grub:

update-grub

2.在系统中禁用nouveau驱动:

echo "blacklist nouveau" | sudo tee -a /etc/modprobe.d/blacklist-nvidia-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nvidia-nouveau.conf
sudo update-initramfs -u

然后 reboot 重启生效

下载Nvidia显卡驱动并安装

1.下载驱动并设置执行权限:

……

乐果   发表于   2025 年 02 月 08 日 标签:debian 继续阅读

0

50

绿联nas排查硬盘故障

家里的绿联 nas 好久没用,假期在家捣腾时发现启动不了,便求助了绿联官方技术远程协助排查原因。

故障表现:插两块硬盘时 nas 启动不了,插任意一块硬盘 nas 正常启动。

整个操作过程记录一下,以便以后自己排查这方面的故障方便。

Microsoft Windows [版本 10.0.26100.2894]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Administrator>ssh -p 922 root@192.168.2.150
The authenticity of host '[192.168.2.150]:922 ([192.168.2.150]:922)' can't be established.
ED25519 key fingerprint is SHA256:deZq0pajrwYROo2JUFN12vXqfyZFZlRU2xos3112lC0.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[192.168.2.150]:922' (ED25519) to the list of known hosts.
root@192.168.2.150's password:


BusyBox v1.28.3 () built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 UGOS 18.06-SNAPSHOT,
 -----------------------------------------------------

如上说明绿联的 nas 系统是基于 openwrt 改造的。

下面则是官方技术远程排查硬盘的命令了,如下:

……

乐果   发表于   2025 年 02 月 01 日 标签:openwrt 继续阅读

较旧的文章
热评文章