gpt4 book ai didi

tensorflow-gpu - 在 Tensorflow 对象检测 API 中定义 GPU 选项

转载 作者:行者123 更新时间:2023-12-04 06:50:04 24 4
gpt4 key购买 nike

我能够在具有 4x 1080Ti 的本地机器上进行训练,并且正如其他人所指出的那样,TF 会占用我机器上的所有可用内存。经过一番搜索之后,我找到了针对基础 TF 而不是对象检测 API 的解决方案,例如:

How to prevent tensorflow from allocating the totality of a GPU memory?

如何在对象检测 API 中访问这些类型的选项?如何在 OD API 中对训练进行类似的 TF 风格控制?在 OD API/slim API 中是否有正确的方法?

我尝试向该 training.proto 添加 GPUOptions 消息,但这似乎没有什么区别。

最佳答案

我还想添加第二个选项来指示 tensorflow 使用部分可用内存。根据这个guide有2个选项:

  • gpu_options.per_process_gpu_memory_fraction = 0.xxx
  • gpu_options.allow_growth

  • 对于第一个(正如之前在答案中提到的),定义了整个可用 GPU 内存的百分比以供使用,而对于第二个,您指示 tensorflow 仅使用必要的内存。

    根据文档,如果我们事先知道必要的内存要求,那么第一个应该会更好,因为它允许

    ... more efficiently use the relatively precious GPU memory resources on the devices by reducing memory fragmentation.



    另一方面,如果我们事先不知道 GPU 内存要求,即使性能略有牺牲,我也更喜欢第二个。

    至于在 tensorflow 最近的 API 更改中的实际使用,我是这样插入的:
    session_config = tf.ConfigProto()
    session_config.gpu_options.allow_growth = True
    # or use
    # session_config.gpu_options.per_process_gpu_memory_fraction = 0.xxx

    tf.logging.set_verbosity(tf.logging.INFO)
    config = tf.estimator.RunConfig(model_dir=FLAGS.model_dir, session_config=session_config)

    main()model_main.py .

    在 tensorflow 1.12.0 上测试。

    关于tensorflow-gpu - 在 Tensorflow 对象检测 API 中定义 GPU 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46649917/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com