4.提出TSN的2048特征
程序员文章站
2022-07-12 09:39:17
...
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里面的
推荐阅读