zoukankan      html  css  js  c++  java
  • 【TensorFlow】tf.reset_default_graph()函数

    转载  https://blog.csdn.net/duanlianvip/article/details/98626111

    tf.reset_default_graph函数用于清除默认图形堆栈并重置全局默认图形。

    1、无tf.reset_default_graph

    import tensorflow as tf
    
    # 执行完 with 里边的语句之后,这个 conv1/ 和 conv2/ 空间还是在内存中的。这时候如果再次执行此代码,就会再生成其他命名空间
    with tf.name_scope('conv1') as scope:
        weights1 = tf.Variable([1.0, 2.0], name='weights')
        bias1 = tf.Variable([0.3], name='bias')
     
    # 下面是在另外一个命名空间来定义变量的
    with tf.name_scope('conv2') as scope:
        weights2 = tf.Variable([4.0, 2.0], name='weights')
        bias2 = tf.Variable([0.33], name='bias')
     
    # 所以,实际上weights1 和 weights2 这两个引用名指向了不同的空间,不会冲突
    print(weights1.name)
    print(weights2.name)
    print(bias1.name)
    print(bias2.name)

     在再次执行的过程中,都会在上一次执行的基础生成新的张量。

    2、有 tf.reset_default_graph()

    import tensorflow as tf
    tf.reset_default_graph()
    # 执行完 with 里边的语句之后,这个 conv1/ 和 conv2/ 空间还是在内存中的。这时候如果再次执行此代码,就会再生成其他命名空间
    with tf.name_scope('conv1') as scope:
        weights1 = tf.Variable([1.0, 2.0], name='weights')
        bias1 = tf.Variable([0.3], name='bias')
     
    # 下面是在另外一个命名空间来定义变量的
    with tf.name_scope('conv2') as scope:
        weights2 = tf.Variable([4.0, 2.0], name='weights')
        bias2 = tf.Variable([0.33], name='bias')
     
    # 所以,实际上weights1 和 weights2 这两个引用名指向了不同的空间,不会冲突
    print(weights1.name)
    print(weights2.name)
    print(bias1.name)
    print(bias2.name)

     无论执行多少次生成的张量始终不变。换句话说就是:tf.reset_default_graph函数用于清除默认图形堆栈并重置全局默认图形。

  • 相关阅读:
    第八章:数组
    第六章:循环结构(二)
    第五章:循环结构(一)
    第二章:变量 数据类型和运算符
    第三章:选择结构(一)
    第四章:选择结构(二)
    第一章:初识java
    第6章 数据筛选和排序
    第四章 实现Windows程序的数据更新
    第五章 实现Windows程序的数据绑定
  • 原文地址:https://www.cnblogs.com/gaona666/p/12346279.html
Copyright © 2011-2022 走看看