网站做seo需要大量文章/重庆网站seo外包

网站做seo需要大量文章,重庆网站seo外包,宁波网站建设小程序开发,如何看织梦做的网站的源码本专栏系列博文旨在帮助读者从深度学习的基础知识逐步进阶到前沿技术,涵盖理论、实战和行业应用。每集聚焦一个核心知识点,并结合实际项目进行实践,避免空谈理论,简洁明快,快速切入代码,所有代码都经过验证…

本专栏系列博文旨在帮助读者从深度学习的基础知识逐步进阶到前沿技术,涵盖理论、实战和行业应用。每集聚焦一个核心知识点,并结合实际项目进行实践,避免空谈理论,简洁明快,快速切入代码,所有代码都经过验证,确保内容既深入又实用。同时,我们将探讨与当下最流行的大模型(如 GPT、BERT、Diffusion Models 等)相关的技术和知识点。

《深度学习实战》第1集:深度学习基础回顾与框架选择


引言

深度学习作为人工智能的核心技术之一,已经在计算机视觉、自然语言处理、语音识别等领域取得了突破性进展。然而,随着模型规模的不断增长,深度学习也逐渐从简单的神经网络发展到复杂的大规模模型(如 GPT、BERT 等)。在本集中,我们将回顾深度学习的基础知识,并探讨 TensorFlow 和 PyTorch 这两大主流框架的特点与适用场景。最后,通过一个实战项目——使用 TensorFlow 和 PyTorch 构建全连接神经网络解决 MNIST 手写数字分类问题,帮助你巩固理论并动手实践。


在这里插入图片描述

一、深度学习的基本概念

1.1 神经网络,机器学习 和 深度学习

神经网络是深度学习的核心结构,由多个层(Layer)组成,每层包含若干神经元(Neuron)。每个神经元接收输入信号,经过加权求和并通过激活函数生成输出。

神经网络结构图:

图 1: 全连接神经网络的典型结构
在这里插入图片描述

机器学习 和 深度学习 的简单对比:

图 2: 机器学习 Vs 深度学习
在这里插入图片描述
机器学习和深度学习都是人工智能领域的子领域,但它们在方法、复杂性和应用方面有所不同。以下是一个简单的对比:

机器学习 (Machine Learning, ML):

  1. 定义
    • 机器学习是使计算机能够从数据中学习并做出预测或决策的技术。
  2. 历史
    • 机器学习的发展可以追溯到20世纪50年代和60年代,但直到最近几十年才因计算能力的提升而得到广泛应用。
  3. 方法
    • 包括各种算法,如线性回归、逻辑回归、决策树、随机森林、支持向量机等。
    • 通常需要手动提取特征(特征工程)。
  4. 数据需求
    • 通常需要较少的数据来训练模型。
  5. 计算资源
    • 相对较少的计算资源。
  6. 应用
    • 广泛应用于数据分析、预测建模、推荐系统等。

深度学习 (Deep Learning, DL):

  1. 定义
    • 深度学习是一种特殊的机器学习方法,它使用多层神经网络来模拟人脑处理信息的方式。
  2. 历史
    • 深度学习在21世纪初开始获得关注,特别是随着大数据和计算能力的显著提升。
  3. 方法
    • 主要包括深度神经网络,如卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)等。
    • 能够自动从数据中学习特征(端到端学习)。
  4. 数据需求
    • 需要大量的数据来训练模型。
  5. 计算资源
    • 需要高性能的计算资源,如GPU或TPU。
  6. 应用
    • 主要应用于图像识别、语音识别、自然语言处理、自动驾驶等领域。

对比总结:

  • 复杂性:深度学习模型通常比传统机器学习模型更复杂,拥有更多的参数和层。
  • 数据需求:深度学习需要更多的数据来训练,而传统机器学习算法在小数据集上可能表现更好。
  • 计算资源:深度学习模型训练通常需要更强大的计算资源。
  • 特征工程:深度学习减少了手动特征工程的需求,而机器学习通常需要更多的特征工程。
  • 应用领域:深度学习在处理图像、视频和语音数据方面表现优异,而机器学习在处理结构化数据和一些特定任务上可能更高效。
    两者都是人工智能领域中非常重要的技术,选择哪种方法取决于具体的应用场景、数据可用性和计算资源。

1.2 激活函数

激活函数为神经网络引入非线性特性,使其能够拟合复杂的函数关系。常见的激活函数包括:

  • ReLU(Rectified Linear Unit)f(x) = max(0, x),计算简单且梯度不会消失。
  • Sigmoidf(x) = 1 / (1 + exp(-x)),适用于概率输出。
  • Softmax:常用于多分类任务,将输出转化为概率分布。

1.3 损失函数

损失函数衡量模型预测值与真实值之间的差距,是优化的目标。常见损失函数包括:

  • 交叉熵损失(Cross-Entropy Loss):适用于分类任务。
  • 均方误差(Mean Squared Error, MSE):适用于回归任务。

1.4 优化器

优化器通过调整权重参数来最小化损失函数。常用优化器包括:

  • SGD(随机梯度下降):简单但收敛速度慢。
  • Adam:结合动量和自适应学习率,适合大多数场景。

二、常见深度学习框架对比:TensorFlow vs PyTorch

在这里插入图片描述

2.1 TensorFlow

  • 优点
    • 成熟稳定,支持大规模分布式训练。
    • 提供强大的可视化工具 TensorBoard。
    • 部署友好,支持多种硬件加速(如 TPU)。
  • 缺点
    • API 设计较为复杂,初学者上手难度较高。

2.2 PyTorch

  • 优点
    • 动态计算图设计,灵活性高,适合研究和快速原型开发。
    • 社区活跃,文档丰富。
  • 缺点
    • 在生产环境中的部署支持相对较弱(可通过 TorchServe 改善)。
对比总结:
特性TensorFlowPyTorch
易用性中等
灵活性静态图动态图
分布式训练中等
生产部署中等

三、GPU 加速与分布式训练简介

3.1 GPU 加速

GPU(图形处理器)因其并行计算能力,成为深度学习训练的核心硬件。相比于 CPU,GPU 可以显著加速矩阵运算,从而缩短训练时间。

GPU 加速示意图:

图 2: GPU 并行计算加速深度学习训练

3.2 分布式训练

对于超大规模模型(如 GPT-3),单个 GPU 的显存可能不足。分布式训练通过将模型或数据分布在多个设备上,解决了这一问题。常见方法包括:

  • 数据并行(Data Parallelism):将数据分片到不同设备。
  • 模型并行(Model Parallelism):将模型分片到不同设备。

四、实战项目:MNIST 手写数字分类

我们将分别使用 TensorFlow 和 PyTorch 构建全连接神经网络,解决 MNIST 数据集的手写数字分类问题。

4.1 数据集介绍

MNIST 数据集包含 60,000 张训练图像和 10,000 张测试图像,每张图像为 28x28 像素的灰度图片,标签为 0-9 的数字。

MNIST 数据集样例:

图 3: MNIST 数据集中的手写数字样例

4.2 使用 TensorFlow 实现

import tensorflow as tf
from tensorflow.keras import layers, models# 加载数据
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0  # 归一化# 构建模型
model = models.Sequential([layers.Flatten(input_shape=(28, 28)),layers.Dense(128, activation='relu'),layers.Dropout(0.2),layers.Dense(10, activation='softmax')
])# 编译模型
model.compile(optimizer='adam',loss='sparse_categorical_crossentropy',metrics=['accuracy'])# 训练模型
model.fit(x_train, y_train, epochs=5)# 评估模型
test_loss, test_acc = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {test_acc:.4f}")

程序运行后输出:

Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz
11490434/11490434 ━━━━━━━━━━━━━━━━━━━━ 26s 2us/step
Epoch 1/5
D:\python_projects\jupyter_demo\lib\site-packages\keras\src\layers\reshaping\flatten.py:37: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.super().__init__(**kwargs)
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 3s 1ms/step - accuracy: 0.8592 - loss: 0.4790
Epoch 2/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 3s 1ms/step - accuracy: 0.9560 - loss: 0.1525
Epoch 3/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 3s 1ms/step - accuracy: 0.9662 - loss: 0.1094
Epoch 4/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 3s 1ms/step - accuracy: 0.9739 - loss: 0.0841
Epoch 5/5
1875/1875 ━━━━━━━━━━━━━━━━━━━━ 3s 1ms/step - accuracy: 0.9778 - loss: 0.0728
313/313 ━━━━━━━━━━━━━━━━━━━━ 0s 958us/step - accuracy: 0.9760 - loss: 0.0788
Test Accuracy: 0.9797

可以看到一共五个批次的模型训练,模型精确度为97.97%

4.3 使用 PyTorch 实现

import torch
import torch.nn as nn
import torch.optim as optim
from torchvision import datasets, transforms# 数据预处理
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,))])
train_dataset = datasets.MNIST(root='./data', train=True, transform=transform, download=True)
test_dataset = datasets.MNIST(root='./data', train=False, transform=transform)train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=64, shuffle=True)
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=64, shuffle=False)# 定义模型
class Net(nn.Module):def __init__(self):super(Net, self).__init__()self.fc1 = nn.Linear(28 * 28, 128)self.relu = nn.ReLU()self.dropout = nn.Dropout(0.2)self.fc2 = nn.Linear(128, 10)def forward(self, x):x = x.view(-1, 28 * 28)x = self.relu(self.fc1(x))x = self.dropout(x)x = self.fc2(x)return xmodel = Net()# 定义损失函数和优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters())# 训练模型
for epoch in range(5):for images, labels in train_loader:optimizer.zero_grad()outputs = model(images)loss = criterion(outputs, labels)loss.backward()optimizer.step()# 测试模型
correct = 0
total = 0
with torch.no_grad():for images, labels in test_loader:outputs = model(images)_, predicted = torch.max(outputs, 1)total += labels.size(0)correct += (predicted == labels).sum().item()print(f"Test Accuracy: {correct / total:.4f}")

程序运行后输出:

100.0%
100.0%
100.0%
100.0%
Test Accuracy: 0.9500

可以看到模型精确度为95%,相对TensorFlow低一些。

4.4 基于项目实践的 TensorFlow vs PyTorch 进一步对比分析

本项目对比分析

  1. 代码结构
    • TensorFlow:使用Keras API,代码结构清晰,层次分明,适合快速搭建模型。
    • PyTorch:需要手动定义模型类和前向传播函数,代码更灵活,但稍微复杂一些。
  • 在本项目中,可以看到 TensorFlow 的代码非常精简,模型训练速度也很快,PyTorch 代码是 TensorFlow 的两倍,训练速度也相对较慢。
  1. 训练过程

    • TensorFlowmodel.fit() 方法封装了训练循环,使用起来非常方便。
    • PyTorch:需要手动编写训练循环,灵活性更高,但需要更多的代码。
  2. 调试

    • TensorFlow:由于静态图的存在,调试相对困难,但Eager Execution模式改善了这一点。
    • PyTorch:动态图使得调试更加直观,可以直接打印张量的值。
  3. 部署

    • TensorFlow:更适合生产环境,支持多种部署方式。
    • PyTorch:虽然也有部署工具,但相对来说不如TensorFlow成熟。

相同点

  1. 深度学习支持:两者都支持构建和训练深度神经网络,包括卷积神经网络(CNN)、循环神经网络(RNN)等。
  2. 自动微分:两者都提供了自动微分功能,可以自动计算梯度,简化了模型的训练过程。
  3. GPU加速:两者都支持使用GPU进行加速,提高模型训练和推理的速度。
  4. 社区和资源:两者都有庞大的社区支持和丰富的文档、教程资源。

不同点

  1. 编程风格

    • TensorFlow:早期版本采用静态计算图,需要先定义计算图再执行。虽然从2.0版本开始引入了Eager Execution模式,但默认仍然是基于计算图的。
    • PyTorch:采用动态计算图(也称为“define-by-run”),代码更加直观,调试更容易。
  2. 易用性

    • TensorFlow:API较为复杂,初学者可能需要更多时间来熟悉。不过,Keras作为其高级API,大大简化了模型构建过程。
    • PyTorch:API设计更接近Python原生,代码简洁易读,适合快速原型开发。
  3. 部署

    • TensorFlow:在生产环境中的部署更为成熟,尤其是通过TensorFlow Serving和TensorFlow Lite,可以方便地将模型部署到服务器或移动设备上。
    • PyTorch:虽然也有TorchServe等工具,但在生产部署方面相对不如TensorFlow成熟。
  4. 生态系统

    • TensorFlow:拥有更广泛的生态系统,包括TensorBoard(可视化工具)、TFX(端到端机器学习平台)等。
    • PyTorch:生态系统也在快速发展,特别是在研究领域,许多最新的研究成果都是基于PyTorch实现的。

优势和专长

  • TensorFlow

    • 优势:强大的生产部署能力、丰富的生态系统、大规模分布式训练支持。
    • 专长:适用于企业级应用、大规模生产环境、跨平台部署。
  • PyTorch

    • 优势:灵活的动态计算图、易于调试、简洁的API。
    • 专长:适合研究和实验、快速原型开发、学术界广泛使用。

在这里插入图片描述

为了更直观地对比 TensorFlow 和 PyTorch 在 MNIST 手写数字分类任务中的表现,我们整理了以下表格:

对比维度TensorFlowPyTorch优劣分析
代码简洁性TensorFlow 的 Keras API 提供了高层次封装,代码简洁易读。PyTorch 的动态计算图设计使得代码更加灵活,但需要手动定义训练循环。TensorFlow 更适合快速构建模型,而 PyTorch 更适合研究和调试复杂的模型。
灵活性静态图设计,灵活性较低,适合生产环境。动态图设计,灵活性高,适合研究和实验。PyTorch 的灵活性更高,但在生产环境中可能需要额外的工作来优化性能。
性能TensorFlow 在大规模分布式训练中表现优异,尤其是在 TPU 上。PyTorch 的性能与 TensorFlow 相当,但在某些场景下可能稍逊于 TensorFlow。TensorFlow 在生产环境中的性能优势明显,尤其是需要分布式训练时。
社区与生态TensorFlow 社区庞大,生态系统完善,支持多种硬件加速和部署工具。PyTorch 社区活跃,文档丰富,适合学术研究。TensorFlow 的生态更适合工业应用,而 PyTorch 更受研究人员欢迎。
可视化工具提供强大的 TensorBoard 工具,方便监控训练过程和模型性能。可视化工具较少,通常需要第三方库(如 TensorBoardX)。TensorFlow 在可视化方面具有明显优势。
部署支持支持多种部署方式(如 TensorFlow Serving、TensorRT),适合生产环境。部署支持较弱,但可以通过 TorchServe 或 ONNX 改善。TensorFlow 在生产环境中的部署支持更为成熟。

五、前沿关联:为什么需要更深、更复杂的网络?

随着任务复杂度的增加,浅层网络往往无法捕捉数据中的高层次特征。例如:

  • 计算机视觉:ResNet 通过残差连接解决了深层网络的梯度消失问题。
  • 自然语言处理:Transformer 通过自注意力机制实现了对长距离依赖的建模。
  • 大模型:GPT-3 等超大规模模型通过海量参数和数据,展现出惊人的泛化能力。
大模型的优势:
  • 更强的表达能力:能够学习更复杂的模式。
  • 迁移学习:通过预训练,在小样本任务中表现出色。
大模型的挑战:
  • 计算资源需求高:需要大量 GPU/TPU 和存储空间。
  • 训练成本高昂:一次完整训练可能耗费数百万美元。

总结

本集回顾了深度学习的基础知识,包括神经网络、激活函数、损失函数和优化器,并对比了 TensorFlow 和 PyTorch 的特点。通过 MNIST 手写数字分类的实战项目,我们展示了如何使用这两种框架构建简单的全连接神经网络,并通过表格对比了它们的优劣。最后,我们探讨了大模型的背景及其在深度学习领域的重要性。

希望这篇文章能为你提供清晰的学习路径!如果你有任何问题或想法,欢迎在评论区留言讨论。


下集预告:第2集将聚焦于卷积神经网络(CNN)与图像分类任务,带你深入了解 CNN 的核心原理及其在计算机视觉中的应用。

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

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

相关文章

经典复古嘻哈说唱朋克风格专辑海报标题设计psai英文字体安装包 Punk Of Sad — Ransom Font

Punk Of Sad 将确保您忘记所有简洁的线条和企业润色。这种经典的赎金风格字体是一封写给 DIY 文化的情书,诞生于杂志、演出海报和地下场景的原始能量的剪切和粘贴混乱。每个字母都是不可预测的,都带有叛逆的边缘。 这种字体有三种不同的样式 – Regular…

hot100-滑动窗口

3. 无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度。 思路:双指针指向不含重复字符的连续字串的头和尾,用集合存储子串中的元素,有重复时,左指针持续右移,无重复后…

MariaDB 历史版本下载地址 —— 筑梦之路

MariaDB 官方yum源里面只有目前在维护的版本,而有时候对于老项目来说还是需要老版本的rpm包,国内很多镜像站都是同步的官方仓库,因此下载老版本也不好找,这里主要记录下从哪里可以下载到历史版本的MariaDB rpm包。 1. 官方归档网…

Linux-Ansible模块进阶

文章目录 Copy和FetchFile模块 Copy和Fetch copy和fetch模块实践 copy模块需要注意的点:在收集日志之前需要对文件先进行改名或者备份fetch模块需要注意的点:复制的源文件的路径必须是文件不能是目录建议全部使用绝对路径,别使用相对路径确保…

网络空间安全(1)web应用程序的发展历程

前言 Web应用程序的发展历程是一部技术创新与社会变革交织的长卷,从简单的文档共享系统到如今复杂、交互式、数据驱动的平台,经历了多个重要阶段。 一、起源与初期发展(1989-1995年) Web的诞生: 1989年,欧洲…

国产开源PDF解析工具MinerU

前言 PDF的数据解析是一件较困难的事情,几乎所有商家都把PDF转WORD功能做成付费产品。 PDF是基于PostScript子集渲染的,PostScript是一门图灵完备的语言。而WORD需要的渲染,本质上是PDF能力的子集。大模型领域,我们的目标文件格…

Powershell Install deepseek

前言 deepseekAI助手。它具有聊天机器人功能,可以与用户进行自然语言交互,回答问题、提供建议和帮助解决问题。DeepSeek 的特点包括: 强大的语言理解能力:能够理解和生成自然语言,与用户进行流畅的对话。多领域知识&…

网页制作06-html,css,javascript初认识のhtml如何建立超链接

超链接有外部链接、电子邮件链接、锚点链接、空链接、脚本链接 一、内部链接 与自身网站页面有关的链接被称为内部链接 1、创建内部链接 1&#xff09;语法&#xff1a; <a href"链接地址"> …… </a> 2&#xff09;举例应用&#xff1a; 3&#xf…

【算法与数据结构】单调队列

目录 单调队列 使用单调队列维护滑动窗口 具体过程&#xff1a; 代码实现&#xff1a; 复杂度分析&#xff1a; 使用单调队列优化动态规划 例题 单调队列 单调队列(deque)是一种特殊的队列&#xff0c;队列中的元素始终按严格递增或者递减排列。这样就可以保证队头元素…

深度学习每周学习总结Y1(Yolov5 调用官方权重进行检测 )

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客Y1中的内容 &#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 ** 注意该训练营出现故意不退押金&#xff0c;恶意揣测偷懒用假的结果冒充真实打卡记录&#xff0c;在提出能够拿到视频录像…

为AI聊天工具添加一个知识系统 之117 详细设计之58 思维导图及观察者效应 之2 概念全景图

&#xff08;说明&#xff1a;本文和上一篇问题基本相同&#xff0c;但换了一个模型 deepseek-r1&#xff09; Q1227、在提出项目“为使用AI聊天工具的聊天者加挂一个专属的知识系统”后&#xff0c;我们已经进行了了大量的讨论-持续了近三个月了。这些讨论整体淋漓尽致体现了…

2012年IMO几何预选题第6题

设有非等腰的 △ A B C \triangle ABC △ABC, O O O 和 I I I 分别为外心和内心. 在边 A C AC AC, A B AB AB 上分别存在两点 E E E 和 F F F, 使得 C D C E A B CDCEAB CDCEAB, B F B D A C BFBDAC BFBDAC. 设 ( B D F ) (BDF) (BDF) 和 ( C D E ) (CDE) (CDE)…

为Eclipse IDE安装插件IBM编程助手watsonx Code Assistant

从Eclipse IDE 安装 从Eclipse IDE 安装插件&#xff1a; _1、在Eclipse IDE 中&#xff0c;单击帮助菜单&#xff0c;然后选择EclipseMarketplace。 _2、根据您计划进行的工作类型选择安装方式&#xff1a; 有关代码建议、代码解释、代码文档和单元测试的集成生成式人工智能&a…

Linux基本指令(三)+ 权限

文章目录 基本指令grep打包和压缩zip/unzipLinux和windows压缩包互传tar&#xff08;重要&#xff09;Linux和Linux压缩包互传 bcuname -r常用的热键关机外壳程序 知识点打包和压缩 Linux中的权限用户权限 基本指令 grep 1. grep可以过滤文本行 2. 把包含9的文本行过滤出来了 …

【部署优化篇十四】【十万字全景拆解:GitHub Actions自动化流水线设计圣经(DeepSeek工业级实践大公开)】

一、从手工作坊到智能工厂:CI/CD的革命之路 想象一下,你所在的公司每天要手工组装1000台手机,每个环节都靠老师傅肉眼检查——这就是没有CI/CD的软件开发现状。GitHub Actions的出现,就像给软件交付装上了特斯拉的超级工厂流水线。 DeepSeek的CI/CD演进史就是一部血泪史:…

【精调】LLaMA-Factory 快速开始1: Meta-Llama-3.1-8B-Instruct

llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml llamafactory-cli chat examples/inference/llama3_lora_sft.yaml llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml模型下载 git clone https://www.modelscope.cn/LLM-Research/Meta-Lla…

【07】区块链性能

7-1 基础性能优化 7-1-1 区块链性能瓶颈 总述 区块链性能指标 区块链的性能指标主要包括&#xff1a; 吞吐量&#xff1a;在固定时间内处理的交易数量 延时&#xff1a;对交易的响应和处理时间 主流区块链与中心化平台TPS对比 区块链与传统计算的对比 区块链可信且中立…

安全面试2

文章目录 简单描述一下什么是水平越权&#xff0c;什么是垂直越权&#xff0c;我要发现这两类漏洞&#xff0c;那我代码审计要注意什么地方水平越权&#xff1a;垂直越权&#xff1a;水平越权漏洞的审计重点垂直越权漏洞的审计重点 解释一下ssrf漏洞原理攻击场景修复方法 横向移…

【Linux 专栏】echo命令实验

风123456789&#xff5e;-CSDN博客 最近文章阅读排行榜 【爬虫基础】第一部分 网络通讯 P1/3-CSDN博客 【爬虫基础】第一部分 网络通讯-Socket套接字 P2/3-CSDN博客 【Linux专栏】find命令同步 实验-CSDN博客 【Linux运维】非root用户的单向免密登录_linux 单向免密-CSDN博客…

qt5实现表盘的旋转效果,通过提升QLabel类

因为工作需要&#xff0c;需要实现温度的表盘展示效果 实现思路&#xff1a; 通过提示声QLabel控价类&#xff0c;实现报盘的旋转和展示效果 1. 编写一个QLabel的类MyQLabel,实现两个方法 1. void paintEvent(QPaintEvent *event); //重绘函数 2. void valueChanged(int va…