关于训练tensorflow网络的GPU的设置 tensorflow学习笔记(二十五):ConfigProto&GPU

tensorflow学习笔记(二十五):ConfigProto&GPU

<div class="article-info-box">
    <div class="article-bar-top d-flex">
                                            <span class="time">2016年12月23日 11:53:37</span>
        <div class="float-right">
            <span class="read-count">阅读数:30844</span>
                                        </div>
    </div>
</div>
<article>
    <div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod="popu_307" data-dsm="post">
                <div class="markdown_views">
            <h1 id="tensorflow-configproto"><a name="t0"></a>tensorflow ConfigProto</h1>

tf.ConfigProto一般用在创建session的时候。用来对session进行参数配置

with tf.Session(config = tf.ConfigProto(...),...)
   
   
  • 1
#tf.ConfigProto()的参数
log_device_placement=True : 是否打印设备分配日志
allow_soft_placement=True : 如果你指定的设备不存在,允许TF自动分配设备
tf.ConfigProto(log_device_placement=True,allow_soft_placement=True)
   
   
  • 1
  • 2
  • 3
  • 4

控制GPU资源使用率

#allow growth
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config, ...)
# 使用allow_growth option,刚一开始分配少量的GPU容量,然后按需慢慢的增加,由于不会释放
#内存,所以会导致碎片
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
# per_process_gpu_memory_fraction
gpu_options=tf.GPUOptions(per_process_gpu_memory_fraction=0.7)
config=tf.ConfigProto(gpu_options=gpu_options)
session = tf.Session(config=config, ...)
#设置每个GPU应该拿出多少容量给进程使用,0.4代表 40%
   
   
  • 1
  • 2
  • 3
  • 4
  • 5

控制使用哪块GPU

~/ CUDA_VISIBLE_DEVICES=0  python your.py#使用GPU0
~/ CUDA_VISIBLE_DEVICES=0,1 python your.py#使用GPU0,1
#注意单词不要打错

#或者在 程序开头
os.environ['CUDA_VISIBLE_DEVICES'] = '0' #使用 GPU 0
os.environ['CUDA_VISIBLE_DEVICES'] = '0,1' # 使用 GPU 0,1


   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
    <div class="article-bar-bottom">
            <div class="article-copyright">
        版权声明:本文为博主原创文章,转载请注明出处。         https://blog.csdn.net/u012436149/article/details/53837651       </div>
                            <div class="tags-box">
        <span class="label">个人分类:</span>
                    <a class="tag-link" href="https://blog.csdn.net/u012436149/article/category/6461700" target="_blank">tensorflow                     </a>
    </div>
                    <div class="tags-box">
        <span class="label">所属专栏:</span>
                    <a class="tag-link" href="https://blog.csdn.net/column/details/13300.html" target="_blank">tensorflow学习笔记</a>

    </div>
                </div>

<!-- !empty($pre_next_article[0]) -->
        <div class="related-article related-article-prev text-truncate">
    <a href="https://blog.csdn.net/u012436149/article/details/53819387">
        <span>上一篇</span>python 文件操作     </a>
</div>
            <div class="related-article related-article-next text-truncate">
    <a href="https://blog.csdn.net/u012436149/article/details/53843158">
        <span>下一篇</span>tensorflow学习笔记(二十六):构建TF代码      </a>
</div>
</div>

猜你喜欢

转载自blog.csdn.net/m0_37192554/article/details/81331708