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

PyTorch深度学习快速入门

PyTorch深度学习快速入门

  • 1.PyTorch环境配置及安装
  • 2.python编辑器的选择、安装、配置(pycharm、JupyTer安装)
  • 3.为什么torch.cuda.is_available()返回false
  • 4.python学习中两大法宝函数(也可用在pytorch)
  • 5.pycharm和jupyter(究bi特)使用及对比
  • 6.pytorch加载数据初认识
  • 7.dataset类代码实战
  • 8.TensorBoard的使用(一)
  • 9.TensorBoard的使用(二)
  • 10.Transforms的使用(一)
  • 11.Transforms的使用(二)
  • 12.常见的Transforms(一)
  • 13.常见的Transforms(二)
  • 14.torchvision中的数据集的使用
  • 15.DataLoader的使用

1.PyTorch环境配置及安装

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
https://repo.anaconda.com/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在开始菜单打开Anaconda prompt
在命令行窗口看见base就是安装成功
在这里插入图片描述
在这里插入图片描述
我们要检查显卡的驱动是否正确安装
在这里插入图片描述
看到GPU正常显示型号,则显卡驱动已经正确安装了
在这里插入图片描述
在正确安装pytorch之前
我们要学会如何正确管理环境
因为我们之后在不同的项目、代码需要的环境是不一样的
有的代码需要pytorch0.4、有的需要1.0
conda create -n pytorch python=3.6
在这里插入图片描述
在这里插入图片描述

n表示name的意思,pytorch就是这个环境的名字
python=3表示要安装的包
在这里插入图片描述
在这里插入图片描述
conda activate pytorch用来激活这个环境
左边括号里面的就是环境的名称
在这里插入图片描述

pip list用来查看环境中有哪些工具包
在这里插入图片描述
但其中没有我们需要的pytorch
下面我们开始安装pytorch

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们需要知道自己GPU的型号

在这里插入图片描述
在这里插入图片描述
没有显卡 CUDA选择None

在这里插入图片描述
在这里插入图片描述

conda9.2以上要确保我们的驱动版本大于396.26
我们要先查询一下自己的驱动版本nvidia-smi
在这里插入图片描述

在这里插入图片描述
conda install pytorch torchvision cudatoolkit=9.2 -c pytorch -c defaults -c numba/label/dev

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用python
import torch
观察pytorch是否安装成功
在这里插入图片描述

使用torch.cuda.is_available()这个命令观察是否可以使用GPU
在这里插入图片描述
显示false是因为cuda下错版本了,要与自己的电脑对应起来
比如我的
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia

在这里插入图片描述

3060最低要11.1的cuda

2.python编辑器的选择、安装、配置(pycharm、JupyTer安装)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择地址和环境
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面检测一下pycharm是否成功导入了conda的运行环境
torch.cuda.is_available()
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
jupyter是默认安装在外面的base环境中的
但我们的base环境是没有安装pytorch的
所以这个jupyter无法使用pytorch
我们可以在base环境中安装pytorch或者在pytorch环境中安装jupyter
我们使用第二种方法
先进入pytorch环境
conda activate pytorch
在这里插入图片描述
我的pytorch环境中没有
在这里插入图片描述

使用conda install nb_conda安装
在这里插入图片描述
在这里插入图片描述

安装完成后输入jupyter notebook
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
http://localhost:8888/?token=f0d9cb3f4543dceeb4737d957381b4c3ab37070ce474b819

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
点击shift+回车运行代码块
torch.cuda.is_available()

如果是中文用户名可能会运行不了
在环境变量下做如下修改
在这里插入图片描述

%systemroot%\TEMP
在这里插入图片描述
%USERPROFILE%\AppData\Local\Temp

在这里插入图片描述
在这里插入图片描述

3.为什么torch.cuda.is_available()返回false

在这里插入图片描述
在这里插入图片描述

4.python学习中两大法宝函数(也可用在pytorch)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输出只有一行的,可以点击此刻页面最左侧第2列第一个按钮“Soft-warp”

在这里插入图片描述
查看torch.cuda
我们可以看见之前用的is.available
在这里插入图片描述
在这里插入图片描述
有_表示它是一个函数
在这里插入图片描述

5.pycharm和jupyter(究bi特)使用及对比

首先是pycharm
在这里插入图片描述
在这里插入图片描述
如何确定这个文件使用的是我们的pytorch的cuda环境呢
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
新建一个python文件
在这里插入图片描述
如何运行这个文件
我们要添加相应的python解释器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击确定就OK了

在这里插入图片描述
在这里插入图片描述

我们也可以直接在python控制台
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在里面创建一个新的文件
先选择相应的环境
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.pytorch加载数据初认识

在这里插入图片描述
https://pan.baidu.com/s/1jZoTmoFzaTLWh4lKBHVbEA 密码: 5suq
可以下载一下数据集
在这里插入图片描述
这个数据集分为train(训练数据集)和val(验证数据集)

下面是train
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
这是一个识别蚂蚁和蜜蜂对他进行二分类的一个数据集
其中ants和bees这两个文件的名称就是label

还有其他的形式
在这里插入图片描述
告诉我们训练的图片是什么样子
在这里插入图片描述
告诉我们训练的label是什么样子
在这里插入图片描述
在这里插入图片描述

或者我们也可以将label直接写在图片名称上面

下面说明如何使用dataset类
在这里插入图片描述
或者

在这里插入图片描述
在这里插入图片描述

7.dataset类代码实战

在这里插入图片描述

使用控制台进行一个调试
在这里插入图片描述
在这里插入图片描述
将数据集放到项目中,并且重命名为dataset
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们要获取图片的地址
根据def getitem(self, idx):中的idx这个索引去获取
先去获取所有图片地址的一个列表
使用OS去获取
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
上面我们就是获得了所有图片的地址

下面我们要获取每一个图片
在这里插入图片描述

下面考虑这个数据有多长
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果我们想要获取蜜蜂的数据集
在这里插入图片描述
我们训练数据集就是这两个数据集的一个集合
在这里插入图片描述如果我们将数据集进行另外一种形式的表达
在这里插入图片描述
每一张图片对应的label

在这里插入图片描述

8.TensorBoard的使用(一)

在这里插入图片描述
tranform可以我们的图像统一到同一个尺寸
或者对图像中的每一个数据进行一个类的转换

在这里插入图片描述
我们一般想知道我们的训练过程中的loss是如何变化的
通过这个loss知道我们的训练过程是否安装我们预想的变化
我们也可以从相应的loss中去看一下我们选择什么样的模型

在这里插入图片描述
上面这个图就是在外面的2974步输入的图像

这个TensorBoard可以帮助我们探究一些模型在不同的阶段是如何输出的

在这里插入图片描述
首先打开项目文件夹,设置环境
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看如何使用
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
tag就是图表的title
在这里插入图片描述
scalar_value是我们对应的数值,y轴

global_step是我们训练到多少步,x轴

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
我们没有还没有安装tensorboard这个包
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果在一台服务器上有好几个人训练
可能端口会冲突
我们可以指定一下这个端口
tensorboard --logdir=logs
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
write写入一个新的事件当中
其实也进入了上一个事件当中
就会出现上面的情况

第一种方法
我们可以将对应的logs下面的文件全部删除
在这里插入图片描述
在这里插入图片描述

第二种方法
在这里插入图片描述

9.TensorBoard的使用(二)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
其中的img_tensor要么是torch_tensor型,要么是numpy.array型。。。
在这里插入图片描述
在这里插入图片描述
我们这边的图片类型是不满足要求的

我们安装一下opencv
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
转换为numpy型

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

10.Transforms的使用(一)

在这里插入图片描述
transforms主要用来对图片进行一些变换
在这里插入图片描述
在这里插入图片描述
左边的structure可以看它的结构
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们上面就是将img类型的图片转换为我们tensor类型的一个图片
在这里插入图片描述
在这里插入图片描述

11.Transforms的使用(二)

我们为什么需要tensor这个数据类型
在这里插入图片描述
tensor包装了我们神经网络所需要的一些参数
我们在神经网络中一般先把数据转化为tensor型,然后进行一些训练
在这里插入图片描述

在这里插入图片描述
我们上面学习了PIL Image类型的读取
那么如何读取numpy类型的呢
最常用的就是使用opencv

我们安装一下OpenCV

pip install opencv-python( conda install py-opencv)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12.常见的Transforms(一)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
compose是将图片进行一个中心的裁剪然后转换为tensor
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

_ _ cal l_ _ 可以直接调用

在这里插入图片描述

在这里插入图片描述
输入必须是一个PIL Image或者numpy类型转换为一个tensor类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
归一化
输入必须是一个tensor类型
用平均值和标准差对张量图像进行归一化
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
输入的img_tensor有三个通道,人为设置均值和标准差都是0.5,
然后利用公式算的输出值img_norm

在这里插入图片描述
下面就是我们归一化后的一个结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一般图像多少RGB,三通道

在这里插入图片描述

13.常见的Transforms(二)

在这里插入图片描述

输入是PIL Image类型
在这里插入图片描述
在这里插入图片描述
尺寸由原来的3200 * 3200 变为 512 * 512
输出的是PIL Image类型
如果我们想要在tensorboard进行显示的话
我们要将img_resize变为totensor的一个数据类型
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当你对一个图像应用trans_compose变换时,它首先会使用trans_resize_2进行尺寸调整,然后使用trans_totensor将PIL图像转换为PyTorch的Tensor。

这个参数是个列表
其实就是将resize变换和totensor合并了
所以列表两个参数代表这两个过程合并。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

下面我们看另外一个方法
随机裁剪
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14.torchvision中的数据集的使用

介绍如何将数据集和我们的transforms结合在一起
在科研当中一些标准的数据集如何去下载、组织、查看、使用
在这里插入图片描述
下面是官网提供的数据集
在这里插入图片描述

比如其中的CIFAR10数据集一般用于物体识别
在这里插入图片描述

root表示数据集在什么位置
train为true的话表示为训练集、false表示为测试集
transform表示我们想对训练的数据集进行一个什么样的变化
target_transform表示对target进行一个transform
download如果为true的话,会从网上自动给我们下载这个数据集

在这里插入图片描述
torchvision.models中会提供一些预训练好的神经网络模块
在这里插入图片描述

介绍如何将数据集和我们的transforms结合在一起

在这里插入图片描述
这里会在我们的文件夹下创建dataset,并且下载CIFR10数据集到其中
在这里插入图片描述
在这里插入图片描述
前面是我们的输入图片
后面是我们的target类别,这里将我们的真实类别表示为一个数字3
如果target为0,就是airplane
在这里插入图片描述

在这里插入图片描述

如果我们想要看一下这个图片
在这里插入图片描述
在这里插入图片描述

下面介绍一下CIFAR10这个数据集
6万张32 * 32像素的彩色图片,且分为10个类别
5w训练,1w测试
在这里插入图片描述
下面和我们的transform进行联动
因为我们的原始图片是PIL Image
如果要给我们的pytorch进行使用,需要转为tensor数据类型
这里我们就使用transform

在这里插入图片描述
这里就是一个tensor数据类型
我们也可以使用我们的tensorboard进行一个显示
比如我们想显示测试数据集中的前10张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们下载数据集的时候,可以直接在迅雷上使用URL链接进行下载
在这里插入图片描述
在这里插入图片描述

15.DataLoader的使用

相关文章:

PyTorch深度学习快速入门

PyTorch深度学习快速入门 1.PyTorch环境配置及安装2.python编辑器的选择、安装、配置(pycharm、JupyTer安装)3.为什么torch.cuda.is_available()返回false4.python学习中两大法宝函数(也可用在pytorch)5.pycharm和jupyter&#xf…...

种花

分情况&#xff1a; 第一盆k种选择&#xff0c;之后全部k-1种选择 每次相乘结果对1e97取模 #include <iostream> #include <vector> #include <algorithm> using namespace std; #define endl \n const int N 1e9 7;int main() {ios::sync_with_stdio(f…...

Android Shadow插件化框架分析与集成(二)

本文索引 前言插件打包后如何交给宿主使用?宿主加载插件代码分析全局初始化操作加载插件activity测试过程中遇到的问题报错 1 :报错2:报错3 :二次开发支持多插件、多进程功能mPpsController 的构造方式mPluginLoader的构造方式多插件如何改造前言...

Go 与 Rust:导航编程语言景观

在当今构建软件时&#xff0c;开发者在编程语言上有着丰富的选择。两种脱颖而出的语言是 Go 和 Rust - 都很强大但却截然不同。本文将从各种因素比较这两种语言&#xff0c;以帮助您确定哪种更适合您的需求。 我们将权衡它们在并发、安全性、速度、互操作性等方面的方法。我们将…...

包管理工具之npm也慌了?

起因 因为npm的种种问题,我很早就换成了pnpm和yarn(但是其实npm也在使用),已经很久没有关注npm的功能更新了。最近无意间进入Node18版本的安装目录,发现其除了常规的node,npm等默认安装了一个新的包corepack,这个就是今天我要分享的东西了。 注: 我因为18版本的node上…...

mobile app 安全扫描工具MobSF了解下

可以干啥&#xff1a; static 静态分析 dynamic 动态分析 可以用来渗透了 如何docker安装 docker image 下载地址https://hub.docker.com/r/opensecurity/mobile-security-framework-mobsf/ setup 两行即可 1 docker pull opensecurity/mobile-security-framework-mobsf…...

Gophish+EwoMail 自建钓鱼服务器

GophishEwoMail 自建钓鱼服务器 文章目录 GophishEwoMail 自建钓鱼服务器1.前提准备2.搭建EwoMail邮件服务器1&#xff09;Centos7 防火墙操作2&#xff09;设置主机名3&#xff09;host配置4&#xff09;安装EwoMail5&#xff09;获取DKIM6&#xff09;端口服务介绍7&#xff…...

Dockerfile(5) - CMD 指令详解

CMD 指定容器默认执行的命令 # exec 形式&#xff0c;推荐 CMD ["executable","param1","param2"] CMD ["可执行命令", "参数1", "参数2"...]# 作为ENTRYPOINT的默认参数 CMD ["param1","param…...

使用 Gradle 版本目录进行依赖管理 - Android

/ 前言 / 在软件开发中&#xff0c;依赖管理是一个至关重要的方面。合理的依赖版本控制有助于确保项目的稳定性、安全性和可维护性。 Gradle版本目录&#xff08;Version Catalogs&#xff09;是 Gradle 构建工具的一个强大功能&#xff0c;它为项目提供了一种集中管理依赖…...

CS_上线三层跨网段机器(完整过程还原)

以前讲过用cs_smb_beacon上线不出网机器&#xff0c;但是真实的网络拓扑肯定不止这么一层的网络&#xff01; 所以我就来搭建一个复杂一点的网络环境&#xff01;&#xff01; 当然了&#xff0c;这三台电脑之间都是不同的网段&#xff0c;&#xff08;但是同属于一个域环境&a…...

crpto 的AES算法解密为空

1. 需求 对用户密码加密存入数据库&#xff0c;修改密码时取出密码在前端解密&#xff08;保证密码前后端传输过程中为密文&#xff09;。 文档地址&#xff1a;CryptoJS - CryptoJS (gitbook.io) 2. 原代码 2.1 加密 var userpass "123456"; var aseKey &quo…...

13.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-如果没有工具就创造工具

内容参考于&#xff1a; 易道云信息技术研究院VIP课 上一个内容 &#xff1a;12.游戏网络通信存在的问题 现在把游戏网络的架构看了一个小小的大概&#xff0c;可以用它的接口发数据接收数据了&#xff0c;如果真正想用它这一套东西&#xff0c;真正核心不在于它的接口而在于…...

配置artifactory的反向代理和域名访问

一、概述 在许多情况下&#xff0c;组织会通过反向代理来提供对 Artifactory 的访问。在某些情况下&#xff0c;例如使用 Artifactory 作为 Docker 注册表&#xff0c;这种设置甚至是强制性的。为了简化反向代理的配置&#xff0c;Artifactory 提供了生成反向代理的功能&#x…...

python爬虫之协程知识点记录

一、协程 概念 协程 又称微线程(纤程)&#xff0c;是一种用户态的轻量级线程 子程序 在所有的语言中都是层级调用的&#xff0c;比如A中调用B&#xff0c;B在执行过程中调用C&#xff0c;C执行完返回&#xff0c;B执行完返回&#xff0c;最后是A执行完毕。这是通过栈实现的&a…...

安卓开发1- android stdio环境搭建

安卓开发1-android stdio环境搭建 Jdk环境搭建 1. 准备Jdk,这边已经准备好了jdk1.8.0,该文件直接使用即可 2. 系统变量添加 %JAVA_HOME%\bin JAVA_HOME 3. 系统变量&#xff0c;Path路径添加 4. 添加完成后&#xff0c;输入命令javac / java -version&#xff0c;验证环…...

qt QRadioButton 及QButtonGroup 使用

QRadioButton 放在组合框QGroupBox中&#xff0c;再点击时&#xff0c;即使有多个QRadioButton按钮&#xff0c;同时选中的也就只有一个。 如下图所示&#xff0c; 对于多个QRadioButton&#xff0c;每个按钮都写一个槽函数是不太明智的选择&#xff0c;需要将QRadioButton放在…...

【LeetCode-178】最长重复子串(动归)

目录 LeetCode718.最长重复子串 题目描述 解法1&#xff1a;动态规划 代码实现 题目链接 题目描述 给两个整数数组 A 和 B &#xff0c;返回两个数组中公共的、长度最长的子数组的长度。 示例&#xff1a; 输入&#xff1a; A: [1,2,3,2,1] B: [3,2,1,4,7] 输出&…...

1、jQuery介绍、css()、选择器、事件、动画

一、jQuery介绍&#xff1f; 1、什么是jQuery&#xff1f; 是一个JavaScript函数库 2、jQuery特点 写的少&#xff0c;做的多 3、jQuery的安装 直接下载引入 <script src"jquery-1.10.2.min.js"></script>通过cdn引入 <script src"https…...

ArcEngine 调用GP工具时,出现C++ R6034错误

1、Arcengine 调用GP工具时&#xff0c;遇到正试图在 os 加载程序锁内执行托管代码 问题 使用&#xff1a;把VS菜单的 调试->异常->Managed Debuggin Assistants->LoaderLock 的选中状态去掉。不会弹出该错误。 2 编译后运行EXE时&#xff0c;出现C R6034问题 ArcEng…...

windows下基于docker-desktop 安装 mysql 5.7

0.背景 docker-desktop v4.27.1Windows 11 22H2 docker-desktop 需要wsl的支持,一般win11新机子都默认开启了,安装docker-desktop 一路next即可.win10老版本需要自行安装开启wsl.一个小建议是,如果你的win10安装wsl时各种错误无法解决,建议升级到win11大概率解决,本人亲身经历…...

python打卡day49

知识点回顾&#xff1a; 通道注意力模块复习空间注意力模块CBAM的定义 作业&#xff1a;尝试对今天的模型检查参数数目&#xff0c;并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)

在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)

目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 ​编辑​编辑 UDP的特征 socke函数 bind函数 recvfrom函数&#xff08;接收函数&#xff09; sendto函数&#xff08;发送函数&#xff09; 五、网络编程之 UDP 用…...

【QT控件】显示类控件

目录 一、Label 二、LCD Number 三、ProgressBar 四、Calendar Widget QT专栏&#xff1a;QT_uyeonashi的博客-CSDN博客 一、Label QLabel 可以用来显示文本和图片. 核心属性如下 代码示例: 显示不同格式的文本 1) 在界面上创建三个 QLabel 尺寸放大一些. objectName 分别…...

基于Python的气象数据分析及可视化研究

目录 一.&#x1f981;前言二.&#x1f981;开源代码与组件使用情况说明三.&#x1f981;核心功能1. ✅算法设计2. ✅PyEcharts库3. ✅Flask框架4. ✅爬虫5. ✅部署项目 四.&#x1f981;演示效果1. 管理员模块1.1 用户管理 2. 用户模块2.1 登录系统2.2 查看实时数据2.3 查看天…...

生信服务器 | 做生信为什么推荐使用Linux服务器?

原文链接&#xff1a;生信服务器 | 做生信为什么推荐使用Linux服务器&#xff1f; 一、 做生信为什么推荐使用服务器&#xff1f; 大家好&#xff0c;我是小杜。在做生信分析的同学&#xff0c;或是将接触学习生信分析的同学&#xff0c;<font style"color:rgb(53, 1…...

解决MybatisPlus使用Druid1.2.11连接池查询PG数据库报Merge sql error的一种办法

目录 前言 一、问题重现 1、环境说明 2、重现步骤 3、错误信息 二、关于LATERAL 1、Lateral作用场景 2、在四至场景中使用 三、问题解决之道 1、源码追踪 2、关闭sql合并 3、改写处理SQL 四、总结 前言 在博客&#xff1a;【写在创作纪念日】基于SpringBoot和PostG…...

OpenHarmony标准系统-HDF框架之I2C驱动开发

文章目录 引言I2C基础知识概念和特性协议&#xff0c;四种信号组合 I2C调试手段硬件软件 HDF框架下的I2C设备驱动案例描述驱动Dispatch驱动读写 总结 引言 I2C基础知识 概念和特性 集成电路总线&#xff0c;由串网12C(1C、12C、Inter-Integrated Circuit BUS)行数据线SDA和串…...