金融网站开发目的,电商开源,个人博客网站设计,网站跳出率 查询说明:VGG16和CF-VGG11是论文《A 3D Fluorescence Classification and Component Prediction Method Based on VGG Convolutional Neural Network and PARAFAC Analysis Method》使用的两种主要模型。其对应代码仓库提供了实验使用的数据集、平行因子分析结果和CNN模型。论文和…说明:VGG16和CF-VGG11是论文《A 3D Fluorescence Classification and Component Prediction Method Based on VGG Convolutional Neural Network and PARAFAC Analysis Method》使用的两种主要模型。其对应代码仓库提供了实验使用的数据集、平行因子分析结果和CNN模型。论文和代码仓库是本文实验使用的基本材料。 目录 论文摘要数据集信息环境配置分类实验(工作目录:代码仓库/VGG16)修改代码实验流程实验结果train.py笔记数据流 组分拟合实验(工作目录:代码仓库/CF-VGG11)修改代码实验流程实验结果笔记train.py数据流分析FVGG11.pyFAlexNet.pySimpleCNN.py 论文摘要
三维荧光的研究目前主要采用平行因子分析(PARAFAC)、荧光区域积分(FRI)和主成分分析(PCA)等方法。目前结合卷积神经网络(CNN)的研究也很多,但在CNN与三维荧光分析相结合的方法中,还没有一种方法被认为是最有效的。本文在已有研究基础上,从实际环境中采集了一些样品进行三维荧光数据的测量,并从互联网中获得了一批公开数据集。首先对数据进行预处理(包括PARAFAC分析和CNN数据集生成两步),然后提出了基于VGG16和VGG11卷积神经网络的三维荧光分类方法和分量拟合方法。使用VGG16网络对三维荧光数据进行分类,训练准确率为99.6%(与PCA + SVM方法同样准确)。对于分量图拟合网络,我们综合比较了改进的LeNet网络、改进的AlexNet网络和改进的VGG11网络,PCA + SVM改进的VGG11网络。在改进的VGG11网络训练中,我们使用MSE损失函数和余弦相似度来判断模型的优劣,网络训练的MSE损失达到4.6×10−4,训练结果的余弦相似度达到0.99。(由此可见,)网络性能非常出色。实验表明,CNN在三维荧光分析中具有很大的应用价值。数据集信息
以下表格中的Samples,Number,Train,Validate,Test,Total Samples after Expansion列来自论文的Table 3。
SamplesNumberTrainValidateVGG16/mainVGG11/trainTestVGG11/testVGG16/testTotal Samples after ExpansionFU4527935359735135F10563218181212181315P206124411611614142161618PU6036124545121245180论文中的数据扩充说明:在实际训练过程中,我们通过色域失真和镜像翻转来扩展图像。
表格分析:Train+Validate与2个网络的训练集大小相近,VGG16的测试集扩充了4倍,Total Samples after Expansion=3*Number。
环境配置
安装CUDA 12.1安装cuDnn新建环境:conda create -n 3deem python=3.10安装torch-2.2.1+cu121-cp310-cp310-win_amd64.whl在虚拟环境中安装matplotlib,opencvpip3 install torchvision --index-url https://download.pytorch.org/whl/cu121分类实验(工作目录:代码仓库/VGG16)
修改代码
新增annotation_generator.pyimport os
from utils.utils import get_classesclasses_path = 'model_data/cls_classes.txt'
img_root_path = 'datasets/main/'
txt_path = 'model_data/cls_train.txt'assert os.path.exists(img_root_path)txt = open(txt_path,'w')
class_names, num_classes = get_classes(classes_path)
for tag_index in range(0,num_classes):class_name = class_names[tag_index]img_path = img_root_path + class_name + '/'files = os.listdir(img_path)for img_file in files:line = str(tag_index) + ';' + img_path + img_file + '\n'txt.write(li