作为一名算法工程师,训练调参模型是必备技能。当我们面对数据集的时候,深度学习怎么获取训练数据?一般将数据集按照比例分为三部分:
- 训练集:用于模型的训练和学习。
- 验证集:所有实验、调参、误差分析和模型选择都应该在验证集上进行。
- 测试集:最终模型在测试集上一次简单运行将会给出它在未见实例上的期望质量的一个好的估计。保证测试集尽可能纯洁,在其上运行尽可能少的实验室很重要的
深度学习怎么获取训练数据?
加载数据是训练模型的前提,如何高效的加载数据提高调参效率呢?
常规加载数据方式
假设我们数据格式如下:
- 词汇阅读是关键 08年考研暑期英语复习全指南 1
- 中国人民公安大学2012年硕士研究生目录及书目 2
- 日本地震:金吉列关注在日学子系列报道 3
- 名师辅导:2012考研英语虚拟语气三种用法 4
- 自考经验谈:自考生毕业论文选题技巧 5
def load_dataset(file_path):
result = []
with open(file_path, "r", encoding="utf8") as f:
for line in f.readlines():
line = line.strip()
if not line:
continue
content, label = line.split('\t')
result.append((content, label))
return result
假如我们的训练数据非常的大,那么每次调参前都要加载数据,加载数据就要浪费掉许多时间,如何优化?
高效的加载数据
优化提取数据的方案:将我们读取的数据保存为二进制文件格式,下次加载数据的时候直接读取二进制文件,提高读取效率。
import pickle as pkl
import os
def load_dataset(file_path, bin_file_path):
if os.path.exists(bin_file_path):
dataset = pkl.load(open(bin_file_path, 'rb'))
return dataset
else:
result = []
with open(file_path, "r", encoding="utf8") as f:
for line in f.readlines():
line = line.strip()
if not line:
continue
content, label = line.split('\t')
result.append((content, label))
pkl.dump(result, open(bin_file_path, 'wb'))
return result
大家平时工作中有什么高效的方法呢?欢迎评论区一起交流学习,共同进步。
免费分享一些我整理的人工智能学习资料给大家,包括一些AI常用框架实战视频、图像识别、OpenCV、NLQ、机器学习、pytorch、计算机视觉、深度学习与神经网络等视频、课件源码、国内外知名精华资源、AI热门论文、行业报告等。
为了更好的系统学习AI,推荐大家收藏一份。
下面是部分截图,文末附免费下载方式。
一、人工智能课程及项目
二、国内外知名精华资源
三、人工智能论文合集
四、人工智能行业报告
学好人工智能,要多看书,多动手,多实践,要想提高自己的水平,一定要学会沉下心来慢慢的系统学习,最终才能有所收获。