学有所得--取绝对路径、预训练基础模型、将生成的精度写入txt、文件夹分类、类的init中的参数在下面使用、namedtuple与dict

1、取绝对路径

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

# 取绝对路径,即这份代码所在的路径

2、预训练基础模型

https://blog.csdn.net/Jorbo_Li/article/details/106248808

3、将生成的精度写入txt

    # #############将生成的精度写入txt
    f = open("E:\\sy\\my_success\\Shufflenet\\model_Weight.txt", 'a')  # 若文件不存在,系统自动创建。'a'表示可连续写入到文件,保留原内容,在原
    # 内容之后写入。可修改该模式('w+','w','wb'等)

    f.write('Test set: Average loss: {:.4f}, Accuracy: {:.4f}'.format(
        test_loss / len(cifar10_test_loader.dataset),
        correct.float() / len(cifar10_test_loader.dataset)) ) # 将字符串写入文件中
    f.write("\n")  # 换行
    # #############将生成的精度写入txt

4、文件夹分类

os.listdir(file_dir) #适用于目录下只有文件而没有文件夹的情况,返回一个文件
os.walk(file_dir) #适用于目录下包含文件夹及文件的情况,返回一个三元组
os.path.splitext(file_path) #分离文件名与扩展名 返回一个元组
os.mkdir(dir_name) #创建文件夹
shutil.move(src,dst) #将src移动到dst目录中

5、类的init中的参数在下面使用

class NCFMDataSet(Dataset):
    def __init__(self, data_dir, mode="train") # 这里定义的mode
        self.mode = mode
        self.data_dir = data_dir
    def _get_img_info(self): # 这里使用mode,使用init中的属性时,只能在类方法里用
        if self.mode == "train":
            ...
        elif self.mode == "valid":
            ...

6、namedtuple与dict

namedtuple    是只读的,第一  不能修改元祖,它还是元祖,第二 它是有序的。第三, 查找速度man,  它的优点呢? 占用内存小(和字典相比)
字典的特点  , 第一  ,value 的值是可以更改的,第二 ,查找速度快, 第三 字典 占用内存是比较大的。第四 ,字典是无序的, 这点和tuple 是完全不一样的。
具体看这里https://blog.csdn.net/u010339879/article/details/78458281

7、对张量在不同维度上的随机打乱理

理解张量:比如下面的那个四维张量,将这个随机向量生成,由内而外的维度是3,5,3,2

0维是2所在的维,对0维进行随机打乱是对2个进行随机打乱

1维是5所在的维,对1维进行随机打乱是对5个进行随机打乱

#先随机生成张量
import torch
a=torch.rand(2,3,5,3)
print(a)

# 在1那个维度进行随机打乱
a=a[:,torch.randperm(a.size()[1])]
print(a)

# 在0维度上进行随机打乱
a=a[torch.randperm(a.size()[0])]
print(a)

8、生成一维字符串列表

list = [str(i) for i in range(42)]
list

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值