深度学习中的围棋数据处理与模型训练
1. 为深度学习准备围棋数据
在使用生成器训练神经网络之前,需要将相关概念融入到 GoDataProcessor 中。在处理围棋数据时,加载 100 条游戏记录的速度可能比预期慢,这主要是因为数据处理本身相对较慢,之前是按顺序处理压缩文件。但实际上,围棋数据的处理是可以并行的,借助 Python 的 multiprocessing 库,将工作负载分配到计算机的所有 CPU 上,就能并行处理压缩文件。
在 GitHub 仓库的 data 模块的 parallel_processor.py 中,有 GoDataProcessor 的并行实现。并行化虽然能显著提升速度,但实现细节会让代码可读性变差,所以这里省略了具体实现。使用并行版的 GoDataProcessor 还有一个好处,即可以选择使用 DataGenerator 返回生成器而非数据。以下是相关代码:
def load_go_data(self, data_type='train', num_samples=1000,
use_generator=False):
index = KGSIndex(data_directory=self.data_dir)
index.download_files()
sampler = Sampler(data_dir=self.da
超级会员免费看
订阅专栏 解锁全文
1812

被折叠的 条评论
为什么被折叠?



