【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】

【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】

  • 1、前言
  • 2、前置学习
    • (1)window和Linux中python寻找目录的方式。
    • (2)训练AI应用的相关流程
    • (3)更多的基础知识补充
    • (4)Anaconda 了解
  • 3、操作步骤
    • (1)检查win本机各个环境
      • 1、检查python版本
      • 2、在Anaconda 环境下检查CUDA版本
      • 3、在Anaconda 环境下检查torchvision版本
      • 4、在Anaconda 环境下检查torch版本
    • (2)下载>数据集和运行代码
      • 1、 获取数据集包
      • 2、 放在特定位置,并解压
    • (3)安装运行代码时的必要的库
    • (4)查看数据集
    • (5)训练集数据
      • 1、更改与确认路径部分
      • 2、开始训练数据集
      • 3、尝试使用数据集测试
  • 6、代码部分链接
  • 7、细节部分
    • (1)遇到报错:No module named 'matplotlib'
    • (2)路径报错问题
    • (3)报错ERROR:Cold not find a version.... 或者 No mathcing distribution found
    • (4)python指令报错问题
  • 8、总结

1、前言

有了前车之鉴,咱们今天来做在win下的mnist手写体数字分类,知识有时候也是一层层堆叠来的,我们之前已经有了很多学习AI的相关知识了,那么在进行今天的步骤就比较方便,但是你操作的过程中,发现本质的东西其实没有太大的改变。

那么我们需要以前一篇为基础,相当与在win上复刻之前jetson orin NX 的操作。

【学习AI-相关路程-mnist手写数字分类-python-硬件:jetson orin NX-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(2) 】

2、前置学习

虽然学习了很久,但是如何对新手而言还是需要了解的步骤,认为是基础的知识,罗列在了下面,另外某种意义来说,自己不是新手了,有些东西可能也想不到,所以有什么不懂得,请评论吧。

(1)window和Linux中python寻找目录的方式。

在自己实验过程中,遇到了找不到路径的问题,才会回想起,自己之前代码是在Linux下系统的,这回迁移到window下运行,其他代码可以不用改,但是路径这块必须要改的,相关细节,我也整理另一个文章,大家可以自己翻看。

问题:OSError: Errno 22 Invalid argument: ‘xx:xx‘-解决方式-在window下-调用python-转义字符相关-记录

(2)训练AI应用的相关流程

虽然不敢说,所以AI都是这个样子得,但是目前尝试得两个都是相关实验“屏幕检查”和“mnist”,本质上,其实还是没有跳出这个流程,就是以下这个流程,其实这也为我们提供一种解决事情思路,当你想要应用AI的时候,你可以通过什么样的路径达到你要的效果。

虽然已经有准备好的手写体训练库了,但是本质上这个步骤其实没有略过。

  • 阶段 1: 硬件设置
  • 阶段 2: 软件准备
  • 阶段 3: 数据准备
  • 阶段 4: 模型设计和训练
  • 阶段 5: 优化和部署
  • 阶段 6: 应用集成
  • 阶段 7: 监控和维护

(3)更多的基础知识补充

实际想要从事AI相关工作,前期可能大部分时候,其实都在看资料,无论是原版英文材料,还是被翻译的资料,都是一点点补充知识架构,以下有些我这里就不反复说明了,请自己看以下补充知识,或者自己找更多资料了。

【学习AI-相关路程-mnist手写数字分类-python-硬件:jetson orin NX-自我学习AI-基础知识铺垫-遇到问题(1) 】

(4)Anaconda 了解

链接:https://www.anaconda.com/
在这里插入图片描述

Anaconda 是一个用于科学计算和数据分析的开源 Python 和 R 语言发行版。它旨在简化包管理和部署流程,特别适合数据科学家和机器学习工程师。

主要特点:

  1. Conda 包管理器: Anaconda 自带的 Conda 是一个强大的包和环境管理器,支持跨平台使用。它可以创建独立的环境,方便管理不同项目的依赖关系。

  2. 丰富的预装库: Anaconda 预装了超过 1,500 个数据科学和机器学习相关的包,如 NumPy、Pandas、Matplotlib、Scikit-learn 等,减少了手动安装的麻烦。

  3. 集成开发环境: 包含了 Jupyter Notebook、JupyterLab、Spyder 等流行的 IDE,方便进行代码编写和数据可视化。

  4. 跨平台支持: 兼容 Windows、macOS 和 Linux 操作系统,提供一致的开发体验。

3、操作步骤

这里讲各个步骤进行总结,和实际项目不同,只是具体操作流程,操作流程相对于整个AI的做事流程,算是其中一个步骤,是想向你说明,在使用AI的过程中,训练和调试的一个过程。

相关window下,安装环境,可以看我之前文章,我这里是直接检测,不再一一列举如何补充环境了。

【学习AI-相关路程-参考学习-学习他人文章-win11上-安装cuda和cudnn-工具安装 】

(1)检查win本机各个环境

1、检查python版本

命令如下,在cmd的终端中,输入如下指令检测版本

python --version

如下为具体操作演示
在这里插入图片描述

2、在Anaconda 环境下检查CUDA版本

安装完Anaconda 后,需要打开Anaconda ,然后进行检测,在搜索里调出如下终端。
在这里插入图片描述
在这里插入图片描述

命令如下,先进入python环境,输入python,

在这里插入图片描述

然后输入如下指令查询CUDA版本


print(torch.cuda.is_available())  # True 表示支持 CUDA
print(torch.version.cuda)         # 输出 CUDA 的版本号

在这里插入图片描述

3、在Anaconda 环境下检查torchvision版本

同上,命令如下,输入如下指令查询torchvision版本

import torchvision
print(torchvision.__version__)

在这里插入图片描述

4、在Anaconda 环境下检查torch版本

输入如下指令,进入python环境

import torch
print(torch.__version__)         # 确认 PyTorch 版本

在这里插入图片描述

(2)下载>数据集和运行代码

1、 获取数据集包

如下是当时在jetson下尝试的数据集和运行的python代码,有需要的可以拿走。
链接:https://download.csdn.net/download/qq_22146161/89919700?spm=1001.2014.3001.5503
下载后如下,就是如下包了

在这里插入图片描述

2、 放在特定位置,并解压

我们需要放在一个已知的位置,或者你自己定义的位置,这里我在D盘下,之后,就是需要解压后,然后请记住这个目录,一会需要用,因为之前是Linux环境下的,你需要更改里面的目录位置。
在这里插入图片描述

(3)安装运行代码时的必要的库

无论是Linux环境还是win环境,都是需要安装必要的库,因为有Anaconda 环境,我们能简单些。

pip install matplotlib

如下为,自己运行情况。

在这里插入图片描述

(4)查看数据集

我们拿到数据后,并不是上来,就是开始训练的,当时你这么做也行,咱们最好是先看看数据集里的图片是什么样的,它和咱们平时的照片其实不太一样的,几个名为“display_xxx”为头的都是查看图片的几种方式,根据自己背景不同,找个你喜欢的方式。
在这里插入图片描述

拿自己查看方式为例,其实看图片,其实更像一个大的数组,因为不是三色的,只有灰度,所以习惯如下看这样的方式。
在这里插入图片描述

(5)训练集数据

1、更改与确认路径部分

如下图,这块就体现了路径相关重要性,自己开始没注意,从jetson orin NX拿的代码,其实时Linux路径,就直接训练了,发现代码直接再下一次,但是路径时Linux,所以也不知道下到哪里去了,反正就开始训练。

在这里插入图片描述

Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz
Failed to download (trying next):
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)>Downloading https://ossci-datasets.s3.amazonaws.com/mnist/train-images-idx3-ubyte.gz
Downloading https://ossci-datasets.s3.amazonaws.com/mnist/train-images-idx3-ubyte.gz to /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\raw\train-images-idx3-ubyte.gz
100%|███████████████████████████████████████████████████████████████████| 9912422/9912422 [00:02<00:00, 3930244.23it/s]
Extracting /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\raw\train-images-idx3-ubyte.gz to /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\rawDownloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz
Failed to download (trying next):
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)>Downloading https://ossci-datasets.s3.amazonaws.com/mnist/train-labels-idx1-ubyte.gz
Downloading https://ossci-datasets.s3.amazonaws.com/mnist/train-labels-idx1-ubyte.gz to /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\raw\train-labels-idx1-ubyte.gz
100%|████████████████████████████████████████████████████████████████████████| 28881/28881 [00:00<00:00, 100519.04it/s]
Extracting /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\raw\train-labels-idx1-ubyte.gz to /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\rawDownloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz
Failed to download (trying next):
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)>Downloading https://ossci-datasets.s3.amazonaws.com/mnist/t10k-images-idx3-ubyte.gz
Downloading https://ossci-datasets.s3.amazonaws.com/mnist/t10k-images-idx3-ubyte.gz to /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\raw\t10k-images-idx3-ubyte.gz
100%|████████████████████████████████████████████████████████████████████| 1648877/1648877 [00:01<00:00, 967411.51it/s]
Extracting /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\raw\t10k-images-idx3-ubyte.gz to /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\rawDownloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz
Failed to download (trying next):
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1123)>Downloading https://ossci-datasets.s3.amazonaws.com/mnist/t10k-labels-idx1-ubyte.gz
Downloading https://ossci-datasets.s3.amazonaws.com/mnist/t10k-labels-idx1-ubyte.gz to /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\raw\t10k-labels-idx1-ubyte.gz
100%|██████████████████████████████████████████████████████████████████████████| 4542/4542 [00:00<00:00, 114461.59it/s]
Extracting /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\raw\t10k-labels-idx1-ubyte.gz to /home/wjl-linux/Desktop/mnist_ai_work/MNIST\MNIST\raw

所以如下图这个文件”new_python_demo_minst_model1.py“
在这里插入图片描述

中的这个部分,已经要改成之前已知的路径。
在这里插入图片描述
那么在训练的时候,即使没有数据集,也会给你下到对应位置,也就是如下这个位置。
在这里插入图片描述

2、开始训练数据集

下完后,就会开始自己自动训练,会先让你看一组数字和标签对应的。

在这里插入图片描述
确认没问题,就可以关掉了,就可以往下训练了。

在这里插入图片描述
训练完成之后,就会保存为mnist_bpnetwork.pth的模型。

在这里插入图片描述

3、尝试使用数据集测试

我们之后就是将模型文件mnist_bpnetwork.pth的这个,放到test_image2里面去,那里我准备了一些测试文件,当然你可以自己准备一些进行测试。

(1)移动模型
如下我们需要将训练模型拿进来,如下图所示。
在这里插入图片描述
这里对几个文件进行说明

  • test_iamge_ai文件夹:就是存的用于训练的图片。
  • mnist_bpnetwork.pth是训练好的模型。
  • python_ai_test_image.py文件是对于符合28x28的jpg或者png图片识别的python代码
  • python_ai_test_image_dif_size.py文件是可以不服28x28的图片识别代码
  • testNum7.jpg图片是其中一个样例,用来测试路径问题。

(2)更改测试用例的文件路径
如下图,在win下,我尝试了几种,发现在当前目录下,是可以找到照片的,但是使用绝对路径不行,所以应该是写发问题,具体如何解决,请看细节部分,需要更改一下路径写法。

同时以下也是自己的尝试。
在这里插入图片描述
可以看到模型是可以识别符合要求大小的图片,图片里面的数字为1的。
在这里插入图片描述
更多的测试结果,可以看我前一篇文章,就不一一测试了。

以下为记录

(base) PS D:\py_work\mnist_ai_bp\AI_test_mnist_demo_BP\test_image2> python .\python_ai_test_image.py
使用设备: cuda
D:\py_work\mnist_ai_bp\AI_test_mnist_demo_BP\test_image2\python_ai_test_image.py:34: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.model.load_state_dict(torch.load('mnist_bpnetwork.pth', map_location=device))
D:\py_work\mnist_ai_bp\AI_test_mnist_demo_BP\test_image2\python_ai_test_image.py:66: UserWarning: Glyph 39044 (\N{CJK UNIFIED IDEOGRAPH-9884}) missing from font(s) DejaVu Sans.plt.show()
D:\py_work\mnist_ai_bp\AI_test_mnist_demo_BP\test_image2\python_ai_test_image.py:66: UserWarning: Glyph 22788 (\N{CJK UNIFIED IDEOGRAPH-5904}) missing from font(s) DejaVu Sans.plt.show()
D:\py_work\mnist_ai_bp\AI_test_mnist_demo_BP\test_image2\python_ai_test_image.py:66: UserWarning: Glyph 29702 (\N{CJK UNIFIED IDEOGRAPH-7406}) missing from font(s) DejaVu Sans.plt.show()
D:\py_work\mnist_ai_bp\AI_test_mnist_demo_BP\test_image2\python_ai_test_image.py:66: UserWarning: Glyph 21518 (\N{CJK UNIFIED IDEOGRAPH-540E}) missing from font(s) DejaVu Sans.plt.show()
D:\py_work\mnist_ai_bp\AI_test_mnist_demo_BP\test_image2\python_ai_test_image.py:66: UserWarning: Glyph 30340 (\N{CJK UNIFIED IDEOGRAPH-7684}) missing from font(s) DejaVu Sans.plt.show()
D:\py_work\mnist_ai_bp\AI_test_mnist_demo_BP\test_image2\python_ai_test_image.py:66: UserWarning: Glyph 22270 (\N{CJK UNIFIED IDEOGRAPH-56FE}) missing from font(s) DejaVu Sans.plt.show()
D:\py_work\mnist_ai_bp\AI_test_mnist_demo_BP\test_image2\python_ai_test_image.py:66: UserWarning: Glyph 29255 (\N{CJK UNIFIED IDEOGRAPH-7247}) missing from font(s) DejaVu Sans.plt.show()
模型预测的数字是: 1

6、代码部分链接

如下为本次学习使用的代码链接:
https://download.csdn.net/download/qq_22146161/89954021

7、细节部分

(1)遇到报错:No module named ‘matplotlib’

这个说就是运行python代码的时候,忘记安装matplotlib库了
在这里插入图片描述
需要使用如下命令安装下。

pip install matplotlib

(2)路径报错问题

在Linux转到win下,需要注意注意一下路径拼写问题,具体请看如下文章。

问题:OSError: Errno 22 Invalid argument: ‘xx:xx‘-解决方式-在window下-调用python-转义字符相关-记录

如下为报错的时的记录。

  File "D:\py_work\mnist_ai_bp\AI_test_mnist_demo_BP\test_image2\python_ai_test_image.py", line 49, in <module>image = Image.open(image_path)File "C:\ProgramData\Miniconda3\lib\site-packages\PIL\Image.py", line 3247, in openfp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'D:/py_work/mnist_ai_bp/AI_test_mnist_demo_BP/test_image2/test_image_ai/testNum8.jpg'

(3)报错ERROR:Cold not find a version… 或者 No mathcing distribution found

总之如下图,找不到这个库,我这里其实挂了梯子,需要检测一下网路,如果不行需要自己手动去下载安装了。
在这里插入图片描述

(4)python指令报错问题

在开始的时候,不是很会使用指令,直接在终端敲写python命令,后来才知道,需要在Anaconda 的python环境下运行。

C:\Users\Admin>import torch
'import' 不是内部或外部命令,也不是可运行的程序
或批处理文件。C:\Users\Admin>print(torch.__version__)
无法初始化设备 PRNC:\Users\Admin>python
Python 3.9.1 (default, Dec 11 2020, 09:29:25) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32Warning:
This Python interpreter is in a conda environment, but the environment has
not been activated.  Libraries may fail to load.  To activate this environment
please see https://conda.io/activationType "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__)
2.4.0+cu121
>>> print(torch.cuda.is_available())  # True 表示支持 CUDA
True
>>> print(torch.version.cuda)         # 输出 CUDA 的版本号
12.1
>>> import torchvision
>>> print(torchvision.__version__)
0.19.0+cu121
>>>

8、总结

很大程度上,我们要是先能安装教程操作一遍,哪怕其中遇到问题,但是最后成功了,其实能学到很多东西,如何从头自己学着做,确实很扎实,但也确实会很慢。

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

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

相关文章

Shortcut Learning in In-Context Learning: A Survey

为我们的综述打一打广告&#xff0c;目前是初级版本&#xff0c;欢迎各位批评指正&#xff01;后续的论文列表、测评基准会在Github更新[/(ㄒoㄒ)/~~最近比较忙容许我拖一拖] 这里是arxiv链接&#xff1a;Linking!!! Abstract&#xff1a;捷径学习是指模型在实际任务中使用简单…

ZDS 数字股票 布局全球视野,开启智能金融新篇章

在全球金融市场蓬勃发展的背景下&#xff0c;Zeal Digital Shares&#xff08;ZDS&#xff09;正迈向一个全新的发展阶段。通过采用先进技术与深度融合人工智能&#xff08;AI&#xff09;&#xff0c;ZDS 吸引了各类顶尖人才&#xff0c;不仅推动了创新金融服务的建设&#xf…

Linux常用命令

常用命令&#xff1a; pwd、ls、cd mkdir&#xff0c;rmdir touch、cp rm、mv cat、more、less echo head tail history ln date cal find locate grep tar -zxvf -c 产生.tar打包文件 -v 显示详细信息 -f 指定压缩后的文件名 -z 打包同时压缩 -x 解包.tar文件打包&#xff1a…

Chromium Mojo(IPC)进程通信演示 c++(1)

网上搜索关于mojo教程 多数都是理论 加上翻译谷歌mojo文档的&#xff0c;但是如何自定义两个进程使用mojo通信呢&#xff1f;看下面的完整例子介绍&#xff1a;&#xff08;本人也是参考谷歌代码例子改编而成&#xff09; 本文演示了client.exe和service.exe 通过mojo::Incomin…

Late Chunking×Milvus:如何提高RAG准确率

01. 背景 在RAG应用开发中&#xff0c;第一步就是对于文档进行chunking&#xff08;分块&#xff09;&#xff0c;高效的文档分块&#xff0c;可以有效的提高后续的召回内容的准确性。而对于如何高效的分块是个讨论的热点&#xff0c;有诸如固定大小分块&#xff0c;随机大小分…

收藏!python初学者必会,面向对象编程中的对象概念

在Python的编程世界中,“对象”这一概念是面向对象编程&#xff08;OOP&#xff09;的核心组成部分.理解对象的特性和使用方式,对于写出优雅以及可维护的代码至关重要.在本篇教程中,我们将探讨对象的基本概念,通过案例让你更好地掌握如何在实际代码中应用这些知识. 什么是对象…

《TCP/IP网络编程》学习笔记 | Chapter 6:基于UDP的服务器端/客户端

《TCP/IP网络编程》学习笔记 | Chapter 6&#xff1a;基于UDP的服务器端/客户端 《TCP/IP网络编程》学习笔记 | Chapter 6&#xff1a;基于UDP的服务器端/客户端理解UDPUDP套接字的特点UDP内部工作原理UDP的高效使用 《TCP/IP网络编程》学习笔记 | Chapter 6&#xff1a;基于UD…

前段(vue)

目录 跨域是什么&#xff1f; SprinBoot跨域的三种解决方法 JavaScript 有 8 种数据类型&#xff0c; 金额的用什么类型。 前段 区别 JQuery使用$.ajax()实现异步请求 Vue 父子组件间的三种通信方式 Vue2 和 Vue3 存在多方面的区别。 跨域是什么&#xff1f; 跨域是指…

mysql-B+Treel(一)

介绍 MySQL是一个关系型数据库管理系统&#xff0c;由瑞典 MySQL AB 公司开发&#xff0c;属于 Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用方面&#xff0c;MySQL是最好的RDBMS (Relational Database Management System&#xff0c;关系…

HarmonyOS NEXT 应用开发实战(十、从零设计一款个人中心页面详细示例)

随着HarmonyOS的不断发展&#xff0c;越来越多的开发者开始关注这个平台上的应用开发。本篇文章将详细讲解如何从零开始设计一款个人中心页&#xff0c;并在代码中实现其相关功能。 1. 项目结构设计 首先&#xff0c;我们需要设计一个合理的项目结构。我们将个人中心页面分为几…

网购选择困难症怎么破?别忘了你的这位“帮手”

每年双十一对不少人来说&#xff0c;既是购物剁手狂欢节&#xff0c;也是货比三家纠结得不行的选择困难症复发期。而现在&#xff0c;Pura 70 能够帮助我们解决不够了解商品、选择困难症等问题啦。 小艺圈选&#xff0c;圈出你感兴趣的商品&#xff0c;快速货比三家 利用指关…

bug日常记录responded with a status of 413 (Request Entity Too Large)

在本地开发没有出现这个问题&#xff0c;后面部署到服务器上时&#xff0c;开始报错&#xff0c;在网上查找资料发现是nginx的配置大小不够&#xff0c;在nginx的配置条件加上了&#xff1a; client_max_body_size 10m 然后重启nginx&#xff0c;发现这个还是不行&#xff0c…

SAP Business One:中小企业数字化转型的加速器

在竞争日益激烈的市场环境中&#xff0c;中小企业要实现稳健发展&#xff0c;就必须注重提升自身的管理效能与运营效率。SAP Business One&#xff08;简称SAP B1&#xff09;作为一款专为中小企业量身定制的企业资源规划&#xff08;ERP&#xff09;解决方案&#xff0c;凭借其…

从 PyQt5 窗口闪退问题看 Python 垃圾回收与消息机制

前言 此篇文章源于知乎上的一个问题&#xff0c;使用 PyQt5 编写 GUI 程序时&#xff0c;新创建的界面会闪退&#xff0c;本篇文章仅作记录以防以后忘记。 问题代码 import sysfrom PyQt5.QtWidgets import QApplication, QMainWindow, QPushButtonclass Main(QMainWindow):d…

java两个线程的通信/指令重排

目录 1.线程通信 2.指令重排 1.线程通信 前段时间面试笔试题&#xff0c;手写两个线程之间的通信。 问题回顾&#xff1a; 一个生产者&#xff0c;一个消费者&#xff0c;一个桌子媒介。两个线程分别是消费者和生产者。流程是生产者生产一个件商品&#xff0c;通知消费者消…

建立用邻接矩阵表示的无向图

建立用邻接矩阵表示的无向图 #include<stdio.h> #define NUM 100 typedef struct {char vexs[NUM];int edges[NUM][NUM];int n,e; }MGraph; void CreateMGraph(MGraph *G) {int i,j,k;printf("请输入顶点数和边数:");scanf("%d,%d",&G->n,&a…

大模型微调技术 --> LoRA 系列之 AdaLoRA

AdaLoRA 1.摘要 之前的微调方法(如低秩更新)通常将增量更新的预算均匀地分布在所有预训练的权重矩阵上&#xff0c;并且忽略了不同权重参数的不同重要性。结果&#xff0c;微调结果不是最优的。 为了弥补这一差距&#xff0c;我们提出了AdaLoRA&#xff0c;它根据权重矩阵的…

革新网络管理:拉线网套技术引领行业新趋势

根据QYResearch调研团队的最新力作《全球拉线网套市场报告2023-2029》预测&#xff0c;到2029年&#xff0c;全球拉线网套市场的规模有望达到11.7亿美元&#xff0c;且在未来几年内&#xff0c;将以3.5%的复合年增长率&#xff08;CAGR&#xff09;持续扩张。 在全球范围内&…

HTB:Devel[WriteUP]

目录 连接至HTB服务器并启动靶机 1.What is the name of the service is running on TCP port 21 on the target machine? 使用nmap对靶机TCP端口进行开放扫描 2.Which basic FTP command can be used to upload a single file onto the server? 尝试匿名连接至靶机FTP服…

Hadoop集群的高可用(HA)-(2、搭建resourcemanager的高可用)

第一步&#xff1a;检查mapred-site.xml &#xff0c;里面只有yarn配置和historyServer的配置&#xff0c;不需要修改 第二步&#xff1a;修改yarn-site.xml <?xml version"1.0"?> <!-- Licensed under the Apache License, Version 2.0 (the "Lic…