Malware Traffic Classification Using Convolutional Neural Network for Representation Learning代码复现的问题

该博客介绍了在尝试复现基于TensorFlow的深度学习代码时遇到的问题及其解决方案,包括输入数据模块导入错误、缺少参数、类转换错误以及InteractiveSession函数的替换等。同时,提供了数据预处理的注意事项和解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文下载:https://ieeexplore.ieee.org/document/7899588

代码下载:https://github.com/echowei/DeepTraffic

数据处理工具包使用方法:https://github.com/yungshenglu/USTC-TK2016

作者博士毕业论文收录于知网:基于深度学习的网络流量分类及异常检测方法研究
————————————————
原文链接:https://blog.youkuaiyun.com/caiguanhong/article/details/109695999

在进行代码复现前首先要对数据集进行预处理,预处理部分在其他文章有很多详细介绍,在此不做赘述,本文只简单介绍在复现代码traffic_cnn.py时自己遇到的一些问题。

作者的代码是在tensorflow1.x下写的,我的版本时tf2.9,所以会出现的问题较多。

1.input_data不存在

将import input_data换成import tensorflow.examples.tutorials.mnist.input_data 若没有tenfowflow.examples,则先在pycharm中新建一个文件

import tensorflow as tf

print(tf.__file__)

查看你的路径。

我的路径是:D:\Anaconda3\envs\TF2.4.0\lib\site-packages\tensorflow,在路径中创建examples文件夹,并将下载好的tutorials包复制进去即可。(tutorials包在网上有很多资源,自行百度下载)

2.报错DATA_DIR = sys.argv[1] IndexError: list index out of range,

这表明没有传入参数,在传入参数DATA_DIR、CLASS_NUM、TRAIN_ROUND时,可以直接写成

DATA_DIR="D:\\code\\tensorflow\\deeptrafic\\DeepTrafficmaster\\1.malware_traffic_classification\\4.TrainAndTest\\5_Mnist"
CLASS_NUM = 10
TRAIN_ROUND = 400

这种形式,也可以在pycharm中自己设置,点击“Run”菜单下的"Edit Configurations..."命令,在parameter中输入三个参数的值,每个参数输入完后,需要有一个空格。

3.报错    CLASS_NUM = int(sys.argv[2]) ValueError: invalid literal for int() with base 10: '='

将上面的代码

DATA_DIR = sys.argv[1]

CLASS_NUM = int(sys.argv[2]

TRAIN_ROUND = int (sys.argv[3]

中的int去掉,变为:

DATA_DIR = sys.argv[1]

CLASS_NUM = sys.argv[2]

TRAIN_ROUND = sys.argv[3]

5.报错    sess = tf.InteractiveSession() AttributeError: module 'tensorflow' has no attribute 'InteractiveSession'

将代码改为

sess = tf.compat.v1.InteractiveSession()

6.palceholder报错

Tf2.x中placeholder应该使用tf.compat.v1.placeholder,并在开头import tensorflow as tf后面加上tf.compat.v1.disable_eager_execution()

 还有一些问题基本上都是tf1.x中的函数转换为tf2.x的问题,百度都可以找到。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值