如何正确的使用tensorflow __init__,建立和调用

  介绍

本篇文章为大家展示了如何正确的使用tensorflow __init__,建立和调用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

class  RB (tf.keras.layers.Layer):,   ,def  __init__(自我,,num_filters,, * args,, * * kwargs):=,self.num_filters  num_filters   ,超级(RB,,自我). __init__ (* args,, * * kwargs)   ,#按需求添加卷积   ,def 构建(自我,,input_shape):   ,#按需求添加卷积   ,self._layers =, (   ,)   ,超级(RB,,自我).build (input_shape)   ,   ,def 调用(自我,,张量):   ,for  layer  self._layers拷贝:   时间=tensor 才能;层(张量),   class  DecodeNet (tf.keras.layers.Layer):   ,   ,def  __init__(自我,,num_filters,, * args,, * * kwargs):=,self.num_filters  num_filters   ,超级(DecodeNet,,自我). __init__ (* args,, * * kwargs)=,RB, self.rb_block0  (self.num_filters)=,RB, self.rb_block1  (self.num_filters)=,RB, self.rb_block2  (self.num_filters)   ,   ,def 构建(自我,,input_shape):   ,self._layers =, (   RB (self.num_filters),才能   RB (self.num_filters),才能   RB (self.num_filters),才能   ,)   ,超级(DecodeNet,,自我).build (input_shape)   ,   ,def 调用(自我,,张量):=,,tensor  self.rb_block0(张量)=,,tensor  self.rb_block1(张量)   ,for  layer  self._layers拷贝:   时间=tensor 才能;层(张量)=,,tensor  self.rb_block2(张量)   张量,return 

<强>补充:Python类中的__init__()和自我的解析

1, Python中自我的含义

自我,英文单词意思很明显,表示自己,本身。

此处有几种潜在含义:

1。这里的自己,指的是,实例实例本身。

2。同时,由于说到“自己”这个词,都是和相对而言的“其”他而说的,而此处的其他,指的是,类类,和其他变量,比如局部变量,全局变量等。

此处的自我,是个对象(对象),是当前类的实例。

因此,对应的自我。valueName和self.function()中的valueName:表示自我对象,即实例的变量。与其他的,类的变量,全局的变量,局部的变量,是相对应的。

功能:表示是调用的是自我对象,即实例的函数。与其他的全局的函数,是相对应的。

2, Python中为何要有自我

那就是:

在类的代码(函数)中,需要访问当前的实例中的变量和函数的,即,访问实例中的:

对应的变量(属性,财产):Instance.ProperyNam,去读取之前的值和写入新的值

调用对应函数(功能):Instance.function(),即执行对应的动作

→而需要访问实例的变量和调用实例的函数,当然需要对应的实例实例对象本身

→而Python中就规定好了,函数的第一个参数,就必须是实例对象本身,并且建议,约定俗成,把其名字写为自我

→所以,我们需要自我(需要用到自我)

而如果没有用到自我,即代码中,去掉自我后,那种写法所使用到的变量,实际上不是你所希望的,不是真正的实例中的变量和函数,而是的访问到了其他部分的变量和函数了。甚至会由于没有合适的初始化实例变量,而导致后续无法访问的错误。

下面,就通过代码,来演示,如果去掉自我,或者没有合理的使用自我,会出现哪些错误。

3,首先来看一下__init__()和自我对象

# !/usr/bin/env  python   #,- *安康;编码:utf-8  - *   作者:#还以为,antcolonies    class 人(对象):   ,def  __init__(自我,,名字,,朗,,网站):   self.name 才能=,名字   self.lang 才能=朗   时间=self.website 才能;网站   ,   打印才能(& # 39;自我:& # 39;,,自我)   打印才能(& # 39;type  of 自我:,& # 39;,,类型(自我))   & # 39;& # 39;& # 39;   未实例化时,运行程序,构造方法没有运行   & # 39;& # 39;& # 39;,   时间=p 人(& # 39;蒂姆# 39;,,& # 39;英语# 39;,,& # 39;www.universal.com& # 39;),   & # 39;& # 39;& # 39;实例化后运行的结果   自我:& lt; __main__.Person  object  at  0 x00000000021eaf98>   type  of 自我:& lt; class  & # 39; __main__.Person& # 39;比;   & # 39;& # 39;& # 39;

可以看出自我为实例变量p是一个类人型的对象。

class 狗(对象):,,   ,def  __init__(自我、名称、dog_type):   self.name 才能=,名字   时间=self.type 才能;dog_type    ,def  sayhi(自我):   打印才能(“你好,小姐:am  a 狗,,my  name  is “, self.name),   ,   时间=d 狗(& # 39;LiChuang& # 39;,“京巴”),,,#,实例化   d.sayhi ()

如何正确的使用tensorflow __init__,建立和调用