tf model create

三种创建model方式
import numpy as np
import tensorflow as tf
from tensorflow import kerasrows = 10000
columns = 100
emb_size = 5
words_length = 50000train_x = np.random.random(size=(rows, columns, emb_size))
train_y = np.random.randint(low=0, high=2, size=(rows, 1))
1
model = keras.Sequential(name="test1")model.add(keras.layers.Input(shape=(columns, emb_size)))
model.add(keras.layers.SimpleRNN(units=10))
model.add(keras.layers.Dense(1))model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(train_x, train_y, epochs=10, batch_size=100)print("-------------------------------------------------")model = Sequential([keras.layers.Input(shape=(columns, emb_size)),keras.layers.SimpleRNN(units=10),keras.layers.Dense(1)]
)
model.compile(loss="mse", optimizer="sgd")
model.fit(train_x, train_y)
2
x = keras.layers.Input(shape=(columns, emb_size))y = keras.layers.SimpleRNN(units=10)(x)
y = keras.layers.Dense(1)(y)model = keras.Model(inputs=x, outputs=y)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])model.fit(train_x, train_y, epochs=10, batch_size=100)
3
class MyModel(keras.layer.Model):def __init__(self):passdef call(self, input):passmodel = MyModel()
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])model.fit()
为什么需要三种创建模式,三者有什么区别

从上往下一种比一种更接近底层,可以任意调整参数


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部