【问题标题】:Train a torch model using one GPU and the shared memory使用一个 GPU 和共享内存训练一个火炬模型
【发布时间】:2022-03-10 02:27:24
【问题描述】:

我是训练 pytorch 模型的新手 在 GPU 上 我曾尝试在 Windows 上对其进行训练,但始终使用专用内存(10GB)并且不使用共享内存 我尝试使用多处理来提高其性能,但我一直收到错误消息: TypeError: cannot pickle 'module' object

解决方案通常是在加载数据时使用 num_wrokers =0 加载数据后我实际上使用了多处理 并且只需要使用共享内存

我正在重新训练 meta-sr 说话人验证码,特别是训练文件: https://github.com/seongmin-kye/meta-SR/blob/b4c1ea1728e33f7bbf7015c38f508f24594f3f88/train.py

我已将第 92 行编辑为使用共享 GPU 内存,如下所示 代替: train(train_generator, model, objective, optimizer, n_episode, log_dir, scheduler) 致:

    model.share_memory()
    p = mp.Process(target=train, args=(train_generator,model,objective, optimizer, n_episode, log_dir, scheduler))
    p.num_workers=0
    p.start()
    p.join()

如果需要添加更多信息,请告诉我 提前致谢

【问题讨论】:

  • 请分享您的代码和设置。
  • 已根据您的推荐编辑,谢谢,

标签: python pytorch gpu-shared-memory


【解决方案1】:

共享内存(RAM 的一部分)只有在 PC 中有两个 GPU 时才能使用 而这种情况下只有一个 GPU

【讨论】:

    猜你喜欢
    • 2018-04-02
    • 2018-10-23
    • 2017-06-17
    • 2019-10-23
    • 2017-11-30
    • 2021-07-30
    • 2019-09-09
    • 1970-01-01
    相关资源
    最近更新 更多