Python,Pytorch构建双输入网络,图像+序列双输入,进行二分类。
如何基于Pytorch构建双输入的网络是曾经长时间困扰本人的问题,现已弄明白。本程序示例是一端输入图像,一端输入序列。
整体工作如下:
1、加载数据集。“时频图”文件夹是400个由序列转为的时频图,sequence.csv是400条长度为500的原始序列,图像和序列一一对应,同属一个标签。前200张图像/序列是0类,后200张图像/序列是1类。进行二分类。
2、随机划分训练集测试集。双输入数据处理中,这部分比较麻烦。本程序是自己定义了加载图像、加载序列,以及合并图像、序列和标签类。分别加载图像和序列数据,制造标签,然后三者合成dataset。再使用random_split按80%:20%划分训练集和测试集。
3、构建双输入网络,示例起见,两边均为简单的Conv网络。用summary函数显示网络结构。
4、训练。本程序没有画acc、loss曲线,有基础可以自己加。
5、测试。计算测试集Acc、Pre、Sen、F1指标,绘制混淆矩阵。
注:①程序包含所有的原始数据和代码,注释详细,容易看懂,能直接运行,如运行遇到问题可远程帮忙调通。②看懂程序后方便替换数据和改为多分类,也可有偿帮助替换数据。③工作较忙,仅解答简单问题,谢谢理解。
程序均为本人手写,整理不易,价格低廉35元。唯一渠道为闲鱼售卖。近来发现有用户盗卖本人程序,沟通后还拒不承认- -。已经与闲鱼平台联系,并于2024.9.26在淘天支持产权保护平台备案了此程序,发现盗卖后将进行追究。尊重原创,谢谢大家~~
【闲鱼链接】:https://m.tb.cn/h.gstO4lI?tk=F6Gd38W8uUe HU0025