anomalib1.0学习纪实

回顾:细分、纵深、高端、上游、积累、极致。

回顾:资本化,规模化,国际化,大干快上,小农思维必死无疑。

春节在深圳新地中央,学习anomalib1.0。

一、安装:

1、常规安装

采用的是如下图的方式:

不过,后来运行时,还是提示如下:

还有很多东西需要安装啊.

那我又搞了一次:
 

pip install -e .[full]

增加的[full]什么意思呢?详见下面的图

2、 注意pytorch

我发现,

import torch
torch.cuda.is_available()

返回的结果是false。说明我的pytorch安装不成功。

我发现,根本原因是,anomalib要求的pytorch版本,2.1.2,必须要求cuda11.8以上。所以,

我重新安装cuda11.8和相应的cudnn。

并且重新安装下图版本的torch和torchvision

 

一直到 确认 

import torch
torch.cuda.is_available()

返回true。 

二、修改BUG

下图212行是我加的。没他就报错

三、train

在src文件夹下面,我搞了个mytrain.py文件。如下图: 

文件内容如下:

# Import the required modules
from anomalib.data import MVTec
from anomalib.models import Patchcore
from anomalib.engine import Engine


# 在主模块中执行代码
if __name__ == '__main__':
    # Initialize the datamodule, model and engine
    datamodule = MVTec()
    model = Patchcore()
    engine = Engine()

    # Train the model
    engine.fit(datamodule=datamodule, model=model)

 运行即可。

四、Infer

我把 .ckpt文件,拷贝到c盘根目录下,如下两图所示:

 

然后执行我的myinfer.py文件, 

# Import the required modules
from anomalib.data import MVTec
from anomalib.models import Patchcore
from anomalib.engine import Engine


# 在主模块中执行代码
if __name__ == '__main__':
    # Initialize the datamodule, model and engine
    datamodule = MVTec()
    model = Patchcore()
    engine = Engine()

    # Assuming the datamodule, model and engine is initialized from the previous step,
    # a prediction via a checkpoint file can be performed as follows:
    predictions = engine.predict(
        datamodule=datamodule,
        model=model,
        ckpt_path="c:\\checkpoint.ckpt",
    )
    print("fack")

 如果出现bug,请重新启动vscode试试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/387560.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python中的正则表达式(一)

在Python中,正则表达式是一种用于匹配和操作字符串的强大工具。正则表达式由一系列字符和特殊字符组成,用于定义搜索模式。 在Python中,我们使用内置的 re 模块来操作正则表达式。要使用正则表达式,我们首先需要导入 re 模块。 下…

springboot187社区养老服务平台的设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

【C++函数探幽】内联函数inline

📙 作者简介 :RO-BERRY 📗 学习方向:致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 📒 日后方向 : 偏向于CPP开发以及大数据方向,欢迎各位关注,谢谢各位的支持 目录 1. 前言2.概念3.特性…

【C++】类和对象(四)

前言:在类和对象中,我们走过了十分漫长的道路,今天我们将进一步学习类和对象,类和对象这块荆棘地很长,各位一起加油呀。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量&a…

DS:二叉树的链式结构及实现

创作不易,友友们给个三连吧!! 一、前言 前期我们解释过二叉树的顺序结构(堆)为什么比较适用于完全二叉树,因为如果用数组来实现非完全二叉树,那么数组的中间部分就可能会存在大量的空间浪费。 …

二叉树习题

路径和:不能将叶节点向下扩展一层nullptr来标记这个节点是叶节点 struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode() : val(0), left(nullptr), right(nullptr) {}TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}TreeNode(int x, T…

【计算机网络】电子邮件

用户代理 user agent邮件服务器 mail server简单邮件传输协议 SMTP 使用TCP与HTTP对比 HTTP:web服务器向web客户传输文件 SMTP:邮件服务器向另一个邮件服务器传输文件 持续链接 持续链接 拉协议(pull protocol)由想接收发起 …

顺序表(上)

1.顺序表的概念 顺序表(Sequential List)是一种基本的数据结构,它是一种线性表的存储结构。线性表是一种数据元素的有限序列,元素之间存在顺序关系。 线性表:线性表( linearlist )是n个具有相…

StringBuilder

StringBuilder代表可变字符串,相当于一个容器,里面的字符串可以改变,用来操作字符串。此类设计用作StringBuffer替代品。 构造方法: StringBuilder() StringBuilder(String str) 操作方法: 1. append()&#xff1…

爬爬爬——qq模拟登录,古诗文网模拟登录并爬取内容(cookie)

cookie——可以理解为,记录为登录状态。如果在登录一个网站之后,想拿到信息发现404了,就是没有加cookie在这个header里。 下图加了cookie和没有加的对比(我是用了selenuim自动化登录的): 下面是加了的 这个…

【C语言】指针的入门篇2,深入理解指针和数组的关系

欢迎来CILMY23的博客喔,本期系列为【C语言】指针的入门篇2,深入理解指针和数组的关系,图文讲解指针和数组关系的知识,带大家理解指针和数组的关系,以及指针数组的用法,感谢观看,支持的可以给个赞…

书生浦语大模型实战营-课程笔记(2)

介绍了一下InternLm的总体情况。 InternLm是训练框架,Lagent是智能体框架。 这个预训练需要这么多算力,大模型确实花钱。 Lagent是智能体框架,相当于LLM的应用。 pip设置 开发机的配置 pip install transformers4.33.1 timm0.4.12 sente…

数据结构——5.5 树与二叉树的应用

5.5 树与二叉树的应用 概念 结点的权:大小可以表示结点的重要性 结点的带权路径长度:从树的根到该结,的路径长度(经过的边数)与该结点权的乘积 树的带权路径长度:树中所有叶结点的带权路径长度之和(WPL) …

C语言函数(四):递归

目录 1.什么是递归2.递归的限制条件3.递归举例3.1 举例一:求n的阶乘 4.递归与迭代4.1 求第n个斐波那契数 5.递归与循环的选择 1.什么是递归 在学习函数这一章节,递归是每个计算机语言绕不开的知识点,那什么是递归呢? 递归就是一种…

Java入门高频考查基础知识9(银盛15问万字参考答案)

JAVA刷题专栏:http://t.csdnimg.cn/9qscL 目录 一、Springcloud的工作原理 三、注册中心心跳是几秒 四、消费者是如何发现服务提供者的 五、多个消费者调⽤用同⼀接口,eruka默认的分配⽅式是什么 六、springboot常用注解,及其实现 七、…

【C语言】指针的入门篇,深入理解指针和指针变量

欢迎来sobercq的博客喔,本期系列为【C语言】指针的入门篇,深入理解指针和指针变量 图文讲解指针的知识,带大家理解指针和内存的关系,以及指针的用法,感谢观看,支持的可以给个赞哇。 目录 一、内存和地址 二…

【使用IDEA总结】01——新增作者信息、方法参数返回值

[TOC](目录) 1.类新增作者信息 打开IDEA的Settings,Editor->Code Style->File and Code Templates->Includes->File Header,输入以下作者信息,作者名更换为自己的即可,操作如下图所示 /*** Author Linhaipeng* Date…

实现表达式语言

实现表达式语言 考虑使用大量Scriplet代码嵌入Java代码的JSP页面。过度使用Scriptlet代码使JSP页面变得混乱。因此。开发人员难以阅读和调试页面。另外,网页设计师在编辑表示代码时也会遇到问题。为了解决此类问题,开发无脚本的JSP页面受到推崇。 无脚本的代码使JSP页面易于…

Uipath 实现Excel 文件合并

场景描述 某文件夹下有多个相同结构(标题列相同)的Excel 文件,需实现汇总到一个Excel文件。 常见场景有销售明细汇总,订单汇总等。 解决方案 对于非IT 人员则可使用Uipath 新式Excel活动,通过拖拉实现。也可以通过内存表或使用VB脚本&…

【动态规划初识】不同路径问题

每日一道算法题之不同路径问题 一、题目描述二、思路三、C++代码一、题目描述 题目来源:LeetCode 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finis…