当前位置: 首页 > news >正文

docker 配置 gpu版pytorch环境--部署缺陷检测--Anomalib

目录

  • 一、docker 配置 gpu版pyhorch环境
    • 1、显卡驱动、cuda版本、pytorch cuda版本三者对应
    • 2、拉取镜像
  • 二、部署Anomalib
    • 1、下载Anomalib
    • 2、创建容器并且运行
    • 3、安装Anomalib
      • 进入项目路径
      • 安装依赖
      • 测试:

一、docker 配置 gpu版pyhorch环境

1、显卡驱动、cuda版本、pytorch cuda版本三者对应

  • 自行查看:三者对应版本信息

2、拉取镜像

  • 直接在docker.hub中拉取pytorch镜像:​​​​​​​找到自己所需要的环境 pytorch镜像

  • 点击复制 devel 版链接

     docker pull pytorch/pytorch:1.9.1-cuda11.1-cudnn8-devel
    

二、部署Anomalib

1、下载Anomalib

  • Anomalib github 地址

2、创建容器并且运行

我们需要docker容器中运行Anomalib,所以需要把主机文件挂载到容器中

  • 主机路径:/home/dell/ljn/anomalib
docker run -it --name="pytorch_docker" \--gpus=all \--shm-size=64G \	-v /home/dell/ljn/anomalib:/workspace/anomalib \pytorch/pytorch:1.9.1-cuda11.1-cudnn8-devel /bin/bash

没有加这一行--shm-size=64G在docker中运行pytorch会报错

  • ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
  • 由于在docker镜像中默认限制了shm(shared memory),然而数据处理时pythorch则使用了shm。这就导致了在运行多线程时会将超出限制的DataLoader并直接被kill掉。
  • --shm-size=64G:这里设置为64G,根据自身电脑性能进行设置
  • 容器运行后可以看到挂载的目录
jn@ljn-Alienware-13:~/ai_project/anomalib$ ./run_docker.sh 
root@440738bd07a3:/workspace# ls
anomalib
root@440738bd07a3:/workspace# 
  • 验证
ncvv -V 
nvidia-smi

在这里插入图片描述

3、安装Anomalib

进入项目路径

cd anomalib/anomalib-main

安装依赖

pip install update
pip install -e .
pip install wandb

测试:

  • 执行

    python tools/train.py 
    
  • 运行报错:ImportError: libGL.so.1: cannot open shared object file: No such file or directory
    在这里插入图片描述

  • 需要安装opencv

    apt-get update
    apt-get install libopencv-dev
    
  • 再次执行:python tools/train.py

  • 报错ImportError: cannot import name 'KeypointRCNN_ResNet50_FPN_Weights' from 'torchvision.models.detection' (/opt/conda/lib/python3.7/site-packages/torchvision/models/detection/__init__.py)
    在这里插入图片描述

  • torchvision 版本不兼容或缺少相关模块导致的,更新版本

    pip install --upgrade torchvision
    
  • 再次执行:python tools/train.py

  • 运行成功:到此Anomalib项目部署完成
    在这里插入图片描述

相关文章:

docker 配置 gpu版pytorch环境--部署缺陷检测--Anomalib

目录 一、docker 配置 gpu版pyhorch环境1、显卡驱动、cuda版本、pytorch cuda版本三者对应2、拉取镜像 二、部署Anomalib1、下载Anomalib2、创建容器并且运行3、安装Anomalib进入项目路径安装依赖测试: 一、docker 配置 gpu版pyhorch环境 1、显卡驱动、cuda版本、p…...

为什么定时发朋友圈会更有效呢?

这是因为在同一时段 发送的好友朋友圈 无法有效分散用户的注意力 导致曝光度难以提升 而通过推广定时发朋友圈 可根据自己的粉丝活跃度 设置发圈时间 让每一条朋友圈都能高效 传递到更多的好友手中 这样,曝光度自然而然地就大大提升了! 1.多个号…...

【跟小嘉学 PHP 程序设计】一、PHP 开发环境搭建

系列文章目录 【跟小嘉学 PHP 程序设计】一、PHP 开发环境搭建 文章目录 系列文章目录@[TOC](文章目录)前言一、PHP介绍二、Centos 安装 PHP2.1、安装并启动 Nginx2.2、安装并启动 mariadb2.3、安装 rh-php2.4、添加 Nginx 配置2.5、Nginx 服务三、使用 Docker 为 PHP 部署开发…...

【zookeeper】zk选举、使用与三种节点简介,以及基于redis分布式锁的缺点的讨论

这里我准备了4台虚拟机,从node1到node4,其myid也从1到4. 一,zk server的启动和选举 zk需要至少启动3台Server,按照配置的myid,选举出参与选举的myid最大的server为Leader。(与redis的master、slave不同&a…...

Unity截图生成图片 图片生成器 一键生成图片

使用Unity编辑器扩展技术实现快速截图功能 效果: 里面没有什么太难的技术,直接上源码吧 注意!代码需要放在Editor文件下才能正常运行 using System; using UnityEditor; using UnityEngine;[ExecuteInEditMode] public class Screenshot …...

Matlab图像处理-区域特征

凹凸性 设P是图像子集S中的点,若通过的每条直线只与S相交一次,则称S为发自P的星形,也就是站在P点能看到S的所有点。 满足下列条件之一,称此为凸状的: 1.从S中每点看,S都是星形的; 2.对S中任…...

golang 自动生成文件头

安装koroFileHeader控件 打开首选项,进入设置,配置文件头信息"fileheader.customMade": {"Author": "lmy","Date": "Do not edit", // 文件创建时间(不变)// 文件最后编辑者"LastEditors"…...

Excel中的宏、VBA

一、宏是什么? EXCEL MACRO 是一种记录和播放工具,它仅记录您的 Excel 步骤,并且宏将根据需要播放任意多次。 VBA 宏可自动执行重复任务,从而节省了时间。 这是一段可在 Excel 环境中运行的编程代码,但您无需成为编码…...

2023华为杯数学建模研赛思路分享——最全版本A题深度解析

问题回顾: WLAN网络信道接入机制建模 1. 背景 无线局域网(WLAN, wireless local area network)也即Wi-Fi广泛使用,提供低成本、高吞吐和便利的无线通信服务。基本服务集(BSS, basic service set)是WLAN的…...

【校招VIP】测试方案之测试需求分析

考点介绍: 需求分析就是要弄清楚用户需要的是什么功能,用户会怎样使用系统。这样我们测试的时候才能更加清楚的知道系统该怎么样运行,才能更好的设计测试用例,才能更好的测试。 测试方案之测试需求分析-相关题目及解析内容可点击…...

滚珠螺母的清洁方式

滚珠螺母是一种通过滚珠与螺杆进行螺旋运动转换的机械零件,主要用于控制螺杆的运动轨迹和方向,把原来的滑动摩擦利用滚珠的滚动变成滚动摩擦,因此滚珠螺母的摩擦系数大大降低,从而提高了传动效率,要想滚珠螺母达到预期…...

leetcode做题笔记148. 排序链表

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 思路一:归并排序 c语言解法 struct ListNode* merge(struct ListNode* head1, struct ListNode* head2) {struct ListNode* dummyHead malloc(sizeof(struct ListNode));dummyHead…...

多线程学习

并发:交替运行 并行:一起运行 多线程实现方式 继承Thread类 ①自己定义一个类继承Thread public class MyThread extends Thread{public void run(){}} ②重写run方法 public class MyThread extends Thread{public void run(){"重写的内容&…...

软件测试/测试开发丨ChatGPT在测试计划中的应用策略

点此获取更多相关资料 简介 测试计划是指描述了要进行的测试活动的范围、方法、资源和进度的文档。它主要包括测试项、被测特性、测试任务和风险控制等。 所以在使用ChatGPT输出结果之前,我们需要先将文档的内容框架梳理好,以及将内容范围划定好&…...

链表oj3(Leetcode)——相交链表;环形链表

一,相交链表 相交链表(Leetcode) 1.1分析 看到这个我们首先想到的就是一个一个比较他们的值有相等的就是交点,但是如果a1和b2的值就相等呢?所以这个思路不行,第二种就是依次比较链表,但是这…...

nginx反向代理

nginx反向代理8.反向代理8.1 实现http反向代理8.1.1 反向代理配置参数8.1.2 反向代理单台web服务器8.1.2.1 端口号后加"/"8.1.2.2 端口号后不加"/" 8.1.3指定location 实现反向代理,动静分离8.1.4 反向代理实例:缓存功能8.1.4.1 举例 8.1.5 实现…...

基于eBPF的安卓逆向辅助工具——stackplz

前言 stackplz是一款基于eBPF技术实现的追踪工具,目的是辅助安卓native逆向,仅支持64位进程,主要功能如下: hardware breakpoint 基于pref_event实现的硬件断点功能,在断点处可读取寄存器信息,不会被用户…...

十大排序——4.堆排序

前面我们讲了堆,现在我们来看一下队排序。 堆排序的步骤: 首先将一个无序数组建立成一个大顶堆然后,将堆顶的元素和堆低的元素进行交换(即将最大的元素交换的到堆底),缩小并下潜调整堆重复上一步&#xf…...

独辟蹊径”之动态切换进程代理IP

前言 项目中遇到这样一个需求,需要动态切换指定进程Sockets5代理IP,目前了解到可通过编写驱动拦截或者劫持LSP实现,LSP劫持不太稳定,驱动无疑是相对较好的解决方案,奈何水平不足便有了这"蹊径"。 初步尝试…...

redis漏洞修复:(CNVD-2019-21763)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、漏洞内容二、镜像准备1.确认镜像版本2.下载镜像 三、配置文件准备1.获取配置文件2.修改配置文件 四、启动redis容器五、修改iptables文件总结 前言 漏扫发…...

手刻 Deep Learning -第壹章-PyTorch入门教学-基础概念与再探线性回归

一、前言 本章会需要 微分、线性回归与矩阵的基本观念 这次我们要来做 PyTorch 的简单教学,我们先从简单的计算与自动导数( auto grad / 微分 )开始,使用优化器与误差计算,然后使用 PyTorch 做线性回归,还有…...

深入学习 Redis - 如何使用 Redis 作缓存?缓存更新策略?使用需要注意哪些问题(工作/重点)

目录 一、Redis 作为缓存 1.1、缓存的基本概念 1.1.1、理解 1.1.2、缓存存什么样的数据?二八定律 1.2、如何使用 redis 作为缓存 1.3、缓存更新策略(redis 内存淘汰机制 / 重点) 1.3.1、定期生成 1.3.2、实时生成 内存淘汰策略&#…...

好用的软件测试框架有哪些?测试框架的作用是什么?

软件测试框架是现代软件开发过程中至关重要的工具,它可以帮助开发团队更加高效地进行测试和验证工作,从而大大提高软件质量和用户体验。 一、好用的软件测试框架 1. Selenium:作为一种开源的自动化测试框架,Selenium具有功能强大…...

PAT 1035 插入与归并

PAT 1035 插入与归并 题目描述思路讲解代码展示 题目描述 思路讲解 分析:先将i指向中间序列中满足从左到右是从小到大顺序的最后一个下标,再将j指向从i1开始,第一个不满足a[j] b[j]的下标,如果j顺利到达了下标n,说明…...

K-means 聚类算法学习笔记

K-means 聚类算法 是一种无监督学习算法,用来将 n n n 个样本点分成 k k k 类,使得整个数据集的误差平方和 S S E SSE SSE 最小。在本例中,样本点是指平面直角坐标系上的点,聚类中心也是平面直角坐标系上的点,而每个…...

API文档搜索引擎

导航小助手 一、认识搜索引擎 二、项目目标 三、模块划分 四、创建项目 五、关于分词 六、实现索引模块 6.1 实现 Parser类 6.2 实现 Index类 6.2.1 创建 Index类 6.2.2 创建DocInfo类 6.2.3 创建 Weight类 6.2.4 实现 getDocInfo 和 getInverted方法 6.2.5 实现 …...

文案内容千篇一律,软文推广如何加深用户印象

随着互联网技术的发展,企业营销的方式逐渐转向软文推广,但是现在软文推广的内容同质化越来越严重,企业应该如何让自己的软文推广保持差异性,在用户心中留下独特的印象呢?下面就让媒介盒子告诉你。 一、 找出产品独特卖…...

十二、流程控制-循环

流程控制-循环 1.while循环语句★2.do...while语句★3.for循环语句 —————————————————————————————————————————————————— 1.while循环语句★ while语句也称条件判断语句,它的循环方式是利用一个条件来控制是否…...

五、回溯(trackback)

文章目录 一、算法定义二、经典例题(一)排列1.[46.全排列](https://leetcode.cn/problems/permutations/description/)(1)思路(2)代码(3)复杂度分析 2.[LCR 083. 全排列](https://le…...

什么是分布式锁?他解决了什么样的问题?

相信对于朋友们来说,锁这个东西已经非常熟悉了,在说分布式锁之前,我们来聊聊单体应用时候的本地锁,这个锁很多小伙伴都会用 ✔本地锁 我们在开发单体应用的时候,为了保证多个线程并发访问公共资源的时候,…...

免费咨询健康/seo技术博客

一、数据概况 今天分享一份西北地区的POI数据,包含陕西省、甘肃省、青海省、宁夏回族自治区、新疆维吾尔自治区5个省级行政单位。 数据时间为2022年11月,坐标系是GCJ-02。 获取方式在文末,有兴趣的小伙伴自取。 陕西省POI数据可视化西安市…...

桂林网络设计/广州seo网站开发

工业视觉钢材缺陷检测 实战项目 项目背景概述 质量是制造企业的核心竞争力之一,企业对产品质量的要求越来越高。但是,产品在制造过程中有时会出现表面缺陷,如何进行高效的质量控制来避免表面瑕疵产生,一直是制造企业面临的棘手问…...

wordpress怎么安装上服务器/百度一下百度一下你知道

笔者使用代码及相关文件下载链接: 【源代码文件】pytorch-grad-cam源代码阅读和调试 源代码链接: jacobgil/pytorch-grad-cam pytorch-grad-cam源代码阅读和调试(上) pytorch-grad-cam源代码阅读和调试(中) pytorch-grad-cam源代码阅读和调试(下) 代码改进自定义一个类Guide…...

高港区住房和城乡建设局网站/厦门seo网站排名优化

Webpack 简介 什么是 Webpack? webpack是一种前端资源构建工具,一个静态模块打包器在webpack看来,前端所有的资源文件都会作为模块处理它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)’ Webpack 五个核心…...

佛山网站改版/优化大师兑换码

main.js index.html与app.vue三者关系详解 Pecodo main.js与index.html是nodejs的项目启动的首加载页面资源与js资源,app.vue则是vue页面资源的首加载项 首先启动项目 v8找到index.html与main.js, 执行main.js时遇到 根据import加载app.vue文件(.vue文件可以不是叫app 可以…...

网站建设进度表 下载/网络营销论文

转载请注明出处&#xff0c;谢谢http://blog.csdn.net/ACM_cxlove?viewmodecontents by---cxlove 上场CF的C题是一个树的分治。。。 今天刚好又看到一题&#xff0c;就做了下 题意&#xff1a;一棵树&#xff0c;问两个点的距离<k的点对数目。 http://poj.org/problem…...