概述
tensorflow看上去有点晕,我们往往看到的一串字符到底是类还是方法?如
tf.keras.models.Sequential, tf.estimator, tf.losses, tf.keras.Model等眼花缭乱,它们究竟是类,或是方法傻傻搞不清。
现看到一个区别办法,就是看最后一个字符串中,首字母是大写还是小写。首字母大写就是类,小写则是方法,如
类(class):tf.keras.Model, tf.keras.Sequential
方法(op):tf.estimator, tf.losses
在神经网络中常用的tf.keras.models.Sequential是一个类,但是从tensorflow.org的API中怎么查不到呢?原来他是tf.keras.Sequential的别名,表示这个类从tf.keras.Model继承而来,于是有layer方法,Dense类来进一步定义神经网络的前向通道。
tf.keras.Sequential类中常用的方法有compile, fit, evaluate
下面是tensorflow.org提供的minist手写数字数据集模型建立,反向通道和训练过程:
#模型建立
model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation='softmax')
])
#反向通道,定义优化器,损失函数,评测指标
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
#训练并验证模型:
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test, verbose=2)
最后
以上就是自然世界为你收集整理的tensorflow如何区别类(class)和方法(op)的全部内容,希望文章能够帮你解决tensorflow如何区别类(class)和方法(op)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复