CNN卷积网络搭建代码学习
1.Python中sys.argv[]用法
详细
DATA_DIR = sys.argv[1]#外部输入的第一个参数
CLASS_NUM = int(sys.argv[2])
TRAIN_ROUND = int(sys.argv[3])
#DATA_DIR = '/root/data/withip/10class/BenignFlowAllLayers'
#CLASS_NUM = 10
#TRAIN_ROUND = 40000
Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该将程序保存了,从外部来运行程序并给出参数。
2.字典用法
dict()用法
dict_2class = {
0:'Benign',1:'Malware'}
dict_10class_benign = {
0:'BitTorrent',1:'Facetime',2:'FTP',3:'Gmail',4:'MySQL',5:'Outlook',6:'Skype',7:'SMB',8:'Weibo',9:'WorldOfWarcraft'}
dict_10class_malware = {
0:'Cridex',1:'Geodo',2:'Htbot',3:'Miuref',4:'Neris',5:'Nsis-ay',6:'Shifu',7:'Tinba',8:'Virut',9:'Zeus'}
dict_20class = {
0:'BitTorrent',1:'Facetime',2:'FTP',3:'Gmail',4:'MySQL',5:'Outlook',6:'Skype',7:'SMB',8:'Weibo',9:'WorldOfWarcraft',10:'Cridex',11:'Geodo',12:'Htbot',13:'Miuref',14:'Neris',15:'Nsis-ay',16:'Shifu',17:'Tinba',18:'Virut',19:'Zeus'}
dict = {
}
3.路径文件名分割os.path.split()[]
split()和os.path.split()用法
folder = os.path.split(DATA_DIR)[1]# 分割取文件名
os.path.split(‘PATH’)
1.PATH指一个文件的全路径作为参数:
2.如果给出的是一个目录和文件名,则输出路径和文件名
3.如果给出的是一个目录名,则输出路径和为空文件名
os.path.split()[1]是取分割后list的第二项,即文件名
4.tf.InteractiveSession()
tf.Session()和tf.InteractiveSession()区别
sess = tf.InteractiveSession()
总结:tf.InteractiveSession()默认自己就是用户要操作的session,而tf.Session()没有这个默认,因此用eval()启动计算时需要指明session。
5.tf.app.flag使用
Tensorflow中tf.app.flags的作用及使用方法
flags = tf.app.flags
FLAGS = flags.FLAGS
flags.DEFINE_string('data_dir', DATA_DIR, 'Directory for storing data')
6.mnist数据集下载?
mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True