1. 首页 > 科技

求大佬帮忙注释pytorch代码(有没有大神帮忙注释一下这段python程序,要详细,越详细追加给分。)

求大佬帮忙注释pytorch代码(有没有大神帮忙注释一下这段python程序,要详细,越详细追加给分。)

有没有大神帮忙注释一下这段python程序,要详细,越详细追加给分。

#!/bin/python

#coding=gb2312

import os;###导入OS模块

try: ##尝试导入cPickle模块 如果发生错误 就导入Pickle模块

import cPickle as p;

except:

import pickle as p;

class Person: ######定义Person类 分别存放

def __init__(self,name="n",sex="s",mobile="m",email="e",address="a"):

self.name=name;

self.sex=sex;

self.mobile=mobile;

self.email=email;

self.address=address;

def alterInfo(self,mobile,email,address):

self.mobile=mobile;

self.email=email;

self.address=address;

if os.path.exists("dir.txt")==False: #判断运行路径(dir.txt)是否存在

dirlist={};#空的通讯录字典

p.dump(dirlist,open("dir.txt",'w'),1);#把空的通讯录写入到文本文件中 写入的方式打开文件,会覆盖已存在的文件

print "请输入要进行的操作(添加:a,删除:r,修改:m,查找:f,退出:q,显示所有:s):";###打印出提示用户

list=p.load(open("dir.txt",'r'));##如果前面文件不存在 现在开始创建并打开一个dir.txt文件 默认以只读的方式打开

con=True; ##设置 con为真

while con: ####进入循环判断con是否为真

choice=raw_input("请选择你的操作(a,r,m,f,q,s):"); ##打印出提示用户操作

if choice=='a': ##如果用户输入a 就开始执行 要求用户输入 名字 性别 电话 邮箱 地址 并将用户输入的存入到列表中

#添加

n1=raw_input("请输入要添加人的姓名:");

s1=raw_input("请输入要添加人的性别:");

m1=raw_input("请输入要添加人的手机号码:");

e1=raw_input("请输入要添加人的邮箱地址:");

a1=raw_input("请输入要添加人的住址:");

per1=Person(n1,s1,m1,e1,a1);

list[n1]=per1;#加入到列表

print "添加%s成功!\n" %n1;

elif choice=='r':##如果用户输入r 就请用户输入姓名 执行删除操作

#删除

n2=raw_input("请输入要删除的联系人姓名:");

del list[n2];

print "删除%s成功!\n" %n2;

elif choice=='m':##如果用户输入m 就请用户输入姓名 执行修改操作

#修改

n3=raw_input("请输入要修改人的姓名:");

m3=raw_input("请输入要修改人的手机号码:");

e3=raw_input("请输入要修改人的邮箱地址:");

a3=raw_input("请输入要修改人的住址:");

per3=list[n3];

per3.alterInfo(m3,e3,a3);

list[n3]=per3;

print "修改%s成功!\n" %n3;

elif choice=='f':##如果用户输入f 就请用户输入姓名 执行修改操作

#查找

n4=raw_input("请输入要查找人的姓名:");

try:

per4=list[n4];

print "%s的信息如下:" %n4;

print "性别:%s,手机:%s,邮箱:%s,住址:%s\n" %(per4.sex,per4.mobile,per4.email,per4.address);

except:

print "%s不存在,没有这个人!\n" %n4;

elif choice=='s':##如果用户输入s 就打印出现在所有的名字 性别 电话 邮箱 地址

#显示所有联系人

print "现有联系人"

for i in list:

print "联系人名字:",list[i].name,"\n性别:",list[i].sex, "移动电话:",list[i].mobile,"地址:",list[i].address,"电子邮件:",list[i].email;

#此处i表示一个person对象

elif choice=='q':##如果用户输入s 就保存当前列表到dir.txt 并退出循环

p.dump(list,open("dir.txt",'w'),1);

con=False;#退出

else:

print "请输入正确的操作选项";

continue;

如何快速地注释Python代码

我用的pycharm,有三种注释方式:

1.用 一对""" 括起来要注释的代码块。

2.用一对'''括起来要注释的代码块。

3.选中要注释的代码,按下ctrl+/注释。

求大神帮忙把写下代码的详细注释

function [Recognition_rate]=MLbayesface %定义函数名

clear;%清除内存

t0=clock;%计算当前年月日时秒

Class_Train_NUM=5;%训练个数

Class_Sample_NUM=10; % 采样个数

Class_Test_NUM=Class_Sample_NUM-Class_Train_NUM;%每类的测试样本数也是5

Class_NUM=40;%文件夹个数,也就是脸的个数

Train_NUM=Class_NUM*Class_Train_NUM; % 训练总个数

Test_NUM=Class_NUM*(Class_Sample_NUM-Class_Train_NUM); %测试用总数

%以上初始化各个参数

s=1;

for r=1:Class_NUM %1到40个脸

for t=1:Class_Train_NUM %1到5个脸

%string=['D:\orl\s' int2str(r) '_' int2str(t)];

string=['s' int2str(r) '\' int2str(t)];%生成sr文件夹中第t个脸的文件名

A=imread(string,'bmp');%读取sr文件夹中第t个脸的图形

B=im2double(A);%转化为双精度数

Train_DAT(:,s)=B(:);%生成列向量

s=s+1;%计数增加1

end

end

%以上读取训练样本

s=1;

for r=1:Class_NUM %1到40个脸

for t=Class_Train_NUM+1:Class_Sample_NUM %取第6到10脸

%string=['D:\orl\s' int2str(r) '_' int2str(t)];

string=['s' int2str(r) '\' int2str(t)];%生成sr文件夹中第t个脸的文件名

A=imread(string,'bmp');%读取sr文件夹中第t个脸的图形

B=im2double(A);%转化为双精度数

Test_DAT(:,s)=B(:);%生成列向量

s=s+1;%计数增加1

end

end

%以上读取测试样本

imsize=size(A);%图片的纵、横像素数,即行数、列数

Image_row_NUM=imsize(1);%行数

Image_col_NUM=imsize(2);%列数

feturesize=Image_row_NUM*Image_col_NUM;%特征点数

%现在用的已经是将亮度变为小数,就是double了。

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%构造I和E

%类内的用均值,有40类,每类5个,相互之间的差异就有40*5=200

%构造一个10304*800的矩阵intra代表类内的差异

intra=[];

for a=1:40 %1到40个脸

k=0;%赋初值

for b=1:5 %1到5个脸

c=1;%赋初值

while b+c<6 %条件循环,当等于6时结束循环,就是到第5个脸后结束

k=k+1; %%计数增加1

temp(:,k)=Train_DAT(:,(a-1)*5+b)-Train_DAT(:,(a-1)*5+b+c);%测试数据的前列减后列