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

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

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

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

作者博士毕业论文收录于知网:基于深度学习的网络流量分类及异常检测方法研究
————————————————
原文链接:https://blog.csdn.net/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
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
随着网络威胁日益增长和恶意软件的潜在危险日益加剧,对于恶意软件检测的需求也越来越高。传统恶意软件检测方法存在很多局限性,如签名不透明、固定规则无法识别新型恶意代码、容易受到欺骗等问题,机器学习成为了解决恶意软件检测难题的有效手段。 机器学习模型可以根据大量样本数据,发数据的内在规律来进行学习,并模拟数据间的关系。通过学习已知的恶意样本和正常样本,机器学习算法可以自动提取特征并判断未知样本是否是恶意软件。在恶意软件检测中,机器学习可以解决传统的规则、特征、模式等方式过时、不能及时更新的问题。 恶意软件检测使用机器学习方式,需要准备足够的数据训练集,并基于数据集训练机器学习模型。在训练过程中,可以选择不同的机器学习算法和特征工程方式,进行调优优化,使机器学习模型达到更加准确和可靠的检测效果。 常见的恶意软件检测模型包括支持向量机(SVM)、朴素贝叶斯分类(NBC)、神经网络(NN)和深度学习模型等。这些模型在特征提取和分类预测等方面有着不同的优缺点,因此在具体应用场景中需要根据实际情况进行选择和组合。 总体来看,恶意软件检测使用机器学习模型,可以实自动化恶意软件检测,准确率高、速度快、易于扩展。但是,在实际应用中也有很多需要注意的问题,如数据质量问题、机器学习模型解释性问题、对抗样本问题等。因此,在恶意软件检测中使用机器学习模型仍需持续深入研究和探索,进一步提高检测的准确性和可靠性。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值