金属表面缺陷检测类的实践项目

news2024/12/25 0:16:42

【说明】:下面仅以Pytorch CNN Transfer Learning: Image Classifier

关于金属表面缺陷检测类的实践项目为例介绍如何创建虚拟环境以及在JuypterLab中使用对应的内核

项目已开源在https://github.com/astudent2020/Metal_Surface_Defects

提供数据集及相关代码

image-20230615135712752

一、创建环境,依赖导入

1、创建虚拟环境

创建虚拟环境可以帮助您在不同项目之间隔离Python包的安装和版本,以下是创建虚拟环境的一种常见方法:

安装虚拟环境工具:首先,您需要安装virtualenvconda等虚拟环境管理工具。如果您使用的是pip,可以运行以下命令安装virtualenv

pip install virtualenv

image-20230615123149054

创建虚拟环境:进入您希望创建虚拟环境的目录,并运行以下命令来创建虚拟环境:

virtualenv env_ids

image-20230615123240023

这将在当前目录下创建一个名为env的新虚拟环境文件夹。

激活虚拟环境:根据您所使用的操作系统,激活虚拟环境的命令略有不同:

  • 在 Windows 系统上,运行以下命令:
env\Scripts\activate

image-20230615123335974

在 macOS/Linux 系统上,运行以下命令:

source env_ids/bin/activate

激活虚拟环境后,您会注意到命令提示符发生了变化,显示出虚拟环境的名称。

在虚拟环境中安装依赖:激活虚拟环境后,您可以使用pip安装所需的Python包,例如:

pip install tensorflow

这将在虚拟环境中安装TensorFlow包。

使用虚拟环境:在激活虚拟环境的状态下,您可以运行和管理您的项目,并确保它们使用虚拟环境中的正确Python包和版本。

2、安装对应的依赖

image-20230615123647406

image-20230615123446709

3、设置jupyterLab的内核

要在JupyterLab中使用您创建的虚拟环境,您需要将虚拟环境添加为JupyterLab的内核。以下是一种常见的方法:

  1. 激活虚拟环境:首先,在命令行中激活您的虚拟环境。根据您的操作系统,可以使用以下命令之一:

    在 Windows 上:

env\Scripts\activate

在 macOS/Linux 上:

source env/bin/activate

安装 ipykernel:确保在虚拟环境中安装了ipykernel包。可以使用以下命令安装:

pip install ipykernel

image-20230615123920621

添加虚拟环境到 JupyterLab:将虚拟环境添加为JupyterLab的内核,使用以下命令:

python -m ipykernel install --user --name=env

这将在JupyterLab中创建一个名为env的内核。

这是一个用于在 Jupyter Notebook 中安装 IPython 内核的命令。让我为您解释每个参数的含义:

    -m ipykernel: 这告诉 Python 解释器运行 ipykernel 模块。ipykernel 是用于支持 Jupyter Notebook 内核的模块。

    install: 这是 ipykernel 模块的一个子命令,用于安装 IPython 内核。

    --user: 这个参数告诉安装程序将内核安装到当前用户的主目录下,而不是系统范围内安装。这样做可以避免对系统进行更改,仅限于当前用户。

    --name=env: 这个参数指定内核的名称为 "env"。您可以将其替换为您希望的任何其他名称。内核名称用于在 Jupyter Notebook 中识别和选择特定的内核。

综上所述,该命令的目的是在 Jupyter Notebook 中安装一个名为 "env" 的 IPython 内核,并将其安装到当前用户的主目录下。如果您的当前虚拟环境是 "env_ids",那么您可以将 --name 参数设置为 "env_ids",以与您的环境名称一致。例如:--name=env_ids。
python -m ipykernel install --user --name=env_ids

image-20230615124114911

启动 JupyterLab:启动JupyterLab,可以在命令行中运行以下命令:

jupyter lab

image-20230615124157243

JupyterLab将在默认浏览器中打开。

在 JupyterLab 中选择虚拟环境:在JupyterLab的界面中,点击右上角的"Kernel"选项,在下拉菜单中选择您创建的虚拟环境(即env)。

现在,您可以在JupyterLab中使用该虚拟环境作为内核来运行和编辑Notebooks。确保在运行Notebooks之前选择正确的内核。

请注意,如果您已经在JupyterLab中打开了一个Notebook,您需要重新启动Notebook并选择虚拟环境的内核,使其生效。

4、安装所需依赖

image-20230615124324363

!pip install matplotlib

image-20230615124419363

image-20230615124445111

!pip install seaborn

image-20230615124521425

!pip install scikit-learn pillow torch torchvision

image-20230615124824368

image-20230615124929830

二、项目复现

1、数据下载

官方数据集地址:https://www.kaggle.com/datasets/fantacher/neu-metal-surface-defects-data

image-20230615125330033

image-20230615125117807

image-20230615125351628

解压

unzip archive.zip

image-20230615125429850

image-20230615125747780

2、训练结果

image-20230615131118861

image-20230615131139904

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【IMDB】IMDB数据集导入PostgreSQL和join order benchmark(JOB)查询生成

目录 简述join order benchmark(JOB)查询获取IMDB导入数据到PG 简述 IMDB数据库是一个很大的,被广泛使用的电影,电视节目和演员信息的数据库,它包括了有关电影、电视节目、演员、制作公司、编剧、导演等信息。IMDB数据集可以为电影评论、分类…

【源码分析】Mybatis 的配置解析过程

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接:体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收…

Hadoop(CentOS)安装及MapReduce实现数据去重

Hadoop(CentOS)安装及MapReduce实现数据去重 1. JDK安装 1.1 资源下载: 下载地址:https://pan.quark.cn/s/17d7266205f9 hadoop的安装 包 java jdk安装包 eclipse连接hadoop工具 所学其他工具可自行在官网下载 centos下载地…

Verilog 高级知识点

目录 Verilog 高级知识点 1、阻塞赋值(Blocking) 2、非阻塞赋值(Non-Blocking) 3 、assign 和 always 区别 4、什么是 latch Verilog 高级知识点 本节给大家介绍一些高级的知识点。高级知识点包括阻塞赋值和非阻塞赋值、assi…

合宙Air724UG Cat.1模块硬件设计指南--ADC接口

ADC接口 简介 ADC(Analog-to-Digital Converter) 指模数转换器。是指将连续变化的模拟信号转换为离散的数字信号的器件。 合宙Cat.1模块ADC接口主要用来检测模拟电压信号量,用于电池电压检测,温湿度检测,TDS检测等应用。 特性 ADC精度&#…

华为OD机试真题 JavaScript 实现【素数之积】【2022Q4 100分】

一、题目描述 RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高。 给定一个32位正整数,请对其进行因数分解,找出是哪两个素数的乘积。 二、输入描述 一个正整数num …

【自动文摘】BART实现finetune及evaluate

文章目录 BART介绍下游任务 fine tune BART介绍 我最近在看自动文摘相关的预训练模型,BART模型是2019-2020左右提出来的,首先介绍下它的基本情况。 论文:https://arxiv.org/abs/1910.13461 github: fairseq例子:http…

Efficient Global 2D-3D Matching for Camera Localization in a Large-Scale 3D Map

文章目录 Efficient Global 2D-3D Matching for Camera Localization in a Large-Scale 3D Map1. 相似源码choose_solution.pyeight_point.pyepipolar_match.py Efficient Global 2D-3D Matching for Camera Localization in a Large-Scale 3D Map 1. 相似源码 由于paper并没…

ChatGPT带火的提示工程师,构造自己的提示语

ChatGPT是一个大语言模型,学过全球几乎公开的大部分有效知识库,它什么都懂。 ChatGPT的风靡,爆火了一个年薪百万的提示工程师这个新就业岗位。 提示工程师,也就是AI训练师,即通过与AI交互写出相关提示,以帮…

Spring Boot进阶(48):SpringBoot之集成WebSocket及使用说明 | 超级详细,建议收藏

1. 前言🔥 对于很多小伙伴来说,项目现在都普遍前后端分离,各干各的事儿,在前后端进行服务调用才会有大面积的碰头,后端接口数据格式发生变更要通知前端,相反,前端有变化要告诉后端,这…

【这小文章绝了!】一文看穿,MATLAB | 数组与矩阵超详细入门进阶必须看

目录 介绍 一、数组的创建和操作 通过 : 创建一维数组 通过logspace函数创建一维数组 通过linspace函数创建一维数组 二、数组的运算 数组的关系运算 数组的逻辑运算 三、矩阵 矩阵的构造 矩阵的下标引用 矩阵大小 四、矩阵元素的运算 矩阵的差分 矩阵运算 矩阵…

Spring Boot进阶(50):Spring Boot如何全局统一处理异常?| 超级详细,建议收藏

1. 前言🔥 今天和大家讨论的是Spring Boot如何统一处理异常。这里先说一下我们为什么需要全局统一处理异常?其实理由很简单,因为程序在运行的过程中,不可避免会产生各种各样的错误。比如说用户传过来的参数不正确,无法…

4端到端协议-4.2【实验】【计算机网络】

4端到端协议-4.2【实验】【计算机网络】 前言推荐4端到端协议4.2 TCP协议流捕获与TCP协议分析实验目的实验内容及实验环境实验原理实验过程实验过程演示 4.2.1实验章节测验一.单选题(共5题,25.0分)二.阅读理解(共1题,70.0分)三.填…

xxl-job核心源码解析

xxl-job源码解析 如何自研一个xxljob 注册服务调度服务RPC组件(基建,底层严重依赖)日志服务告警服务 系统架构 执行流程 各大调度中心对比 1)服务端启动流程 首先找到配置类 XxlJobAdminConfig 可以发现该类实现 InitializingBean接口,…

openpose保姆级教程代码详细解析——训练部分

一:前言 OpenPose是一个基于深度学习的人体姿势估计库,它可以从图像或视频中准确地检测和估计人体的关键点和姿势信息。OpenPose的目标是将人体姿势估计变成一个实时、多人、准确的任务。它的原理部分已经在上一篇非常详细的讲解了——本节介绍训…

Dynamic .NET TWAIN 8.3.3 for NetCore Crack

用于 WinForms 和 WPF 应用程序的扫描仪和网络摄像头捕获 SDK 适用于 .NET 应用程序的简单高效的扫描和网络摄像头 SDK Dynamsoft 的 Dynamic .NET TWAIN 是一个基于 TWAIN 和 DirectShow 标准的 .NET 文档成像 SDK。它为扫描仪和网络摄像头软件开发提供了丰富、高效且…

修改依赖包下的子依赖版本,前端项目安全扫描出来的漏洞——解决过程

为什么要升级,如图云桌面(相当于堡垒机-远程桌面)的项目审查是大概基于node16版本进行扫描的,本来我方是通过降版本从14到12绕过大范围更新,但现在躲得过初一躲不过十五,如何更新 package-lock.json 中的一…

DAY24:二叉树(十四)二叉搜索树中的插入操作+删除二叉搜索树中的节点(二叉树结构修改难点)

文章目录 701.二叉搜索树中的插入操作思路递归法如何保证连接的节点就是空节点的父节点? 迭代法迭代法注意debug测试 450.删除二叉搜索树中的节点(坑较多,注意复盘)思路最开始的写法debug测试1.使用了释放后的空间ERROR: AddressS…

通知!2023年湖北住建厅七大员新考和继续教育要求有变化了?启程别

通知!2023年湖北住建厅七大员新考和继续教育要求有变化了?启程别 湖北住建厅七大员新考以及继续教育的相关要求都即将有一些变化了目前在征集意见的阶段,具体实施等后续具体通知 对于新考的变化主要是: 1.由原先报名之后只需要完成…

Vue中如何进行颜色选择与调色板

Vue中如何进行颜色选择与调色板 颜色选择和调色板是Web开发中常用的功能,它们可以帮助用户选择或调整颜色。Vue作为一个流行的JavaScript框架,提供了一些工具和库,可以方便地实现颜色选择和调色板功能。本文将介绍如何在Vue中进行颜色选择和…