本博客是一篇非新手导向的CNN处理CSI图像帧的教程,基于tensorflow框架构建CNN模型进行训练,训练对象依然是前述博客中所提到的CSI图像帧(500 x 90 x 1)。代码里用到了深度可分离卷积,这种结构在减少计算量和参数数量方面比较有优势的。在多次试验后,发现就我的数据集而言,这个模型和普通的卷积结构相比,对处理CSI图像帧这种复杂数据更有帮助,性能会略好一些。不过模型本身的结构不重要,重要的是先把代码跑起来训练起来,上述模型也只是在我的数据集上表现良好,仅供参考。
如今已经是2025年,关于代码怎么运行等等,一切问题均可以问AI,故不讲废话直接上代码:
import tensorflow as tf
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.optimizers import Adam
from tensorflow.keras.layers import Input, Conv2D, BatchNormalization, ReLU, DepthwiseConv2D, Add, GlobalAveragePooling2D, Dense, MaxPooling2D
from tensorflow.keras.models import Model
from tensorflow.keras.callbacks import LearningRateScheduler
train_dir = '训练集地址'
val_dir = '验证集地址'
test_dir = '测试集地址'
# 初始化数据生成器
train_datagen = ImageDataGenerator(rescale=1./255)
val_datagen = ImageDataGenerator(rescale=1./255)
test_datagen = ImageDataGenerator(rescale=1./255)
# 创建训练集、验证集和测试集
train_generator = train_datagen.flow_from

&spm=1001.2101.3001.5002&articleId=148100686&d=1&t=3&u=9c12fec3e3ad4867974e2547690deaed)
1万+

被折叠的 条评论
为什么被折叠?



