利用CNN进行天气识别(pytorch版)


🍨 本文为🔗365天深度学习训练营 中的学习记录博客
🍖 原作者:K同学啊 | 接辅导、项目定制

一、前期准备

设置GPU

常规操作,导入相关的深度学习包,比如可视化包,图片处理包等。

import torch
import torch.nn as nn
import torchvision.transforms as transforms
import torchvision
from torchvision import transforms, datasets

import os,PIL,pathlib,random

device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

device

二、导入数据并进行预处理

1、导入数据

  这里我们使用pathlib函数进行数据的导入,pathlib是Python标准库中处理文件路径的模块,提供了一种面向对象的方式来操作文件的系统路径;其中,path类是核心类,用于表示文件系统中的路径,有一个好处就是不用担心操作系统的差异。

data_dir = "/home/kaijiang/zlf/CSDN task/weather_photos/"
data_dir = pathlib.Path(data_dir)

data_paths = list(data_dir.glob('*'))#pathlib.Path中的global方法获取指定目录中的所有的文件和子目录的路径
classeNames = [str(path).split("\\")[0] for path in data_paths]#分割路径
classeNames

  这里我们将路径赋值给变量data_dir ,然后利用pathlib模块,其中pathlib模块提供了一种面向对象的操作文件路径的方式,pathlib.Path是 Python 中用于处理文件路径的类,提供了更简洁、易读的方式来操作文件路径。下面是pathlib.Path的基本用法示例:

from pathlib import Path
path = Path("/home/user/Documents/file.txt")
print("文件名:", path.name)
print("目录:", path.parent)
if path.exists():
    print("路径存在")
else:
    print("路径不存在")
if path.is_file():
    print("这是一个文件")
if path.is_dir():
    print("这是一个目录")
new_path = path / "new_folder" / "new_file.txt"
print("新路径:", new_path)

  通过使用 pathlib.Path(),可以方便地进行路径操作,而不需要担心不同操作系统之间的路径分隔符问题。glob()方法获得子目录然后进行路径的分割以后,运行代码,得到一下结果:
在这里插入图片描述

2、 将数据进行可视化

import matplotlib.pyplot as plt
from PIL import Image

# 指定图像文件夹路径
image_folder ="/home/kaijiang/zlf/CSDN task/weather_photos/sunrise/"

# 获取文件夹中的所有图像文件
image_files = [f for f in os.listdir(image_folder) if f.endswith((".jpg", ".png", ".jpeg"))]

# 创建Matplotlib图像
fig, axes = plt.subplots(3, 8, figsize=(16, 6))

# 使用列表推导式加载和显示图像
for ax, img_file in zip(axes.flat, image_files):
    img_path = os.path.join(image_folder, img_file)
    img = Image.open
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值