第T3周:TensorFlow构建CNN网络模型实现天气识别

目标
搭建CNN网络模型实现多云、下雨、晴、日出四种天气状态的识别,并用真实天气做预测
具体实现
(一)环境
语言环境:Python 3.10
编 译 器: PyCharm
框 架: Tensorflow
**(二)具体步骤:

1. 使用GPU

之前的GPU一直没检测出来 ,今天参考windows安装tensorflow-gpu / CUDA / cuDNN - 前端大兵 - 博客园Build from source on Windows | TensorFlow,主要的就是保证python版本、cuda版本, cuDNN以及Tensorflow版本一致。我的Python版本是3.8,cuda安装的是11.2,查看如下:
image.png
那么cudnn和tensowflow-gpu的版本也找到了,直接下载安装就成。看成果:

import os  
import PIL  
import pathlib  
import matplotlib.pyplot as plt  
import numpy as np  
import tensorflow as tf  
from tensorflow import keras  
from tensorflow.keras import layers, models 
  
gpus = tf.config.list_physical_devices("GPU")  
print(gpus)  
if gpus:  
    gpu0 = gpus[0]  
    # print(gpu0)  
    tf.config.experimental.set_memory_growth(gpu0, True)  
    tf.config.set_visible_devices([gpu0], "GPU")

image.png
解决。

2.查看数据

在工程根目录下创建了一个datasets目录,然后下面有一个weather_photos的子目录,再下面分为cloudy(多云)、rain(雨天)、shine(晴天)和sunrise(日出)4种天气类型。
image.png

# 导入数据集  
data_dir = "datasets/weather_photos/"  
data_dir = pathlib.Path(data_dir)   # 将目录转换成pathlib.Path类对象,以便使用Path的各种方法  
print(data_dir)  
  
# 查看数据  
# 查看目录下所在.jpg文件的数据。glob方法是按.jpg去匹配所有文件。要能够使用glob方法,需要上当是pathlib.Path类的对象。  
image_count = len(list(data_dir.glob('*/*.jpg')))  
print("图片总数为:", image_count)  
# 看一下shine目录下的图片  
shine = list(data_dir.glob('sunrise/*.jpg'))  
print("shine目录共有:%d 个图片" % len(shine))  
im = PIL.Image.open(str(shine[0]))  
im.show()

image.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值