2022-02-28
-exp//—/train-.py
当你需要在这个过程中进行训练时,如果它是用来接收输入数据的,那么一个图就可以完成这个任务。如果使用方法输入并嵌入到图中,那么对应输入的(for train)、(for ),会生成两个图,但是需要注意的是过程中需要用到w_h等变量等价到train过程,如果直接建图两次,下面的示意图会解释
这个不共享w_h等数据,所以会有问题(注意里面对应的w_h_1)
成本,=(X,标签)
_, = ((, ), )
=(成本,标志。)
# = (, 标志。)
从
这里 tf.().() 不起作用,因为其中没有使用任何机制
第一个解决方案使用类 self.w_h
解决此类问题的一种方法是使用类来创建模块,在需要的地方使用类来仔细管理他们需要的变量。一个更聪明的方法,而不是调用类,是利用提供的变量作用域机制,在构建视图时,很容易共享命名变量。
从
使用类方法共享w_h等变量
类 Mlp():
定义(自我):
= 200
=
=
与 tf.(‘/cpu:0’):
self.w_h = ([, ], name = ‘w_h’)
self.b_h = ([], name = ‘b_h’)
self.w_o = ([, ], name = ‘w_o’)
self.b_o = ([], name = ‘b_o’)
定义模型(自我,X,w_h,b_h,w_o,b_o):
h = tf.nn.relu((X, w_h) + b_h)
tf.(h, w_o) + b_o
定义(自我,X):
py_x = self.model(X, self.w_h, self.b_h, self.w_o, self.b_o)
py_x
X =(索引,值)
算法 = Mlp()
成本,=(X,标签,算法)
, = ((, ), , 算法)
=(成本,标志。)
这样的例子 ////.py
第二个变量是共享的
可变作用域机制主要由两部分组成:
方法 tf.() 用于获取或创建变量,而不是调用 tf. 提供张量。以下是一些用于的初始化变量:
代码
从
分类:
技术要点:
相关文章:
暂无评论内容