4.提出TSN的2048特征

这段代码详细介绍了如何从预训练的TSN模型中抽取2048维特征,并针对硬件限制,仅在一个epoch内保存特征。特征以numpy数组的形式存储为.npy文件,每个批次的特征保存为单独的文件。最后,代码展示了如何加载.npy文件并打印特征。
摘要由CSDN通过智能技术生成

4.提出TSN的2048特征

4.1需要导入的包

import numpy as np

4.2代码实现形式

base_out = self.base_model(input.view((-1, sample_len) + input.size()[-2:])) # 此时的bsae_out就是我们要抽取的特征
        print(base_out.shape) # [3,2048]
        # 由于笔记本硬件限制的问题,只提取了一个epoch的2048特征
        root = 'data_feature/' # 定义保存特征的根目录
        """
        # 定义一个周期保存特征文件的每一个批次的文件名
        # i的传入方式
        for i, (input, target) in enumerate(train_loader):
        	output = model(input_var,i)
        """
        txt = 'feature_2048_' + str(i+1)+'.npy' # 定义一个周期保存特征文件的每一个批次的文件名 
        root_dir = root + txt
        print(str(root_dir))

        # 创建对应npy文件

        def text_create(name, msg):

            desktop_path = root  # 新创建的npy文件的存放路径

            # full_path = desktop_path + name + '.npy'  

            file = open(root_dir, 'w')

            file.write(msg)

            # file.close()

        text_create(txt, '') # 调用创建.npy文件函数

		# 打开.npy文件并将特征向量以numpy的形式写入
        with open(root_dir, 'wb') as f:
            np.save(f, base_out.detach().cpu().numpy())
		# 加载.npy文件,输出特征
        print(np.load(root_dir))

4.3 save生成的文件格式如下:

在这里插入图片描述

4.4 load输出的格式如下:

​ 蓝色箭头输出的只是为了调bug使用的,不是保存的.npy里面的

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值