1.顺序建模
方式1. model = tf.keras.Sequential()
model.add(tf.keras.layers.LSTM(100,activation="relu"))
model.add(tf.keras.layers.Dense(2,activation="sigmoid"))
model.compile(optimizer=tf.keras.optimizers.Adam(0.01),loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True),metrics=["accuracy"])
input = tf.random.uniform((1000,100,10)) label = tf.random.uniform((1000,2))
model.fit(input,label,epochs=10,batch_size=50) 方式2. model =
tf.keras.Sequential([
tf.keras.layers.LSTM(100,activation="relu",input_shape=(100,10,)),
tf.keras.layers.Dense(10) ])
model.compile(optimizer=tf.keras.optimizers.Adam(0.01),loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True),metrics=["accuracy"])
input = tf.random.uniform((1000,100,10),minval=0,maxval=1) label =
tf.random.uniform((1000,10),minval=0,maxval=1)
model.fit(input,label,epochs=10,batch_size=50)
2.函数建模
""" 顺序建模无法实现多输入等操作 如resnet等 这个时候可以用函数式建模方式 """ import tensorflow as tf input1
= tf.keras.Input(shape=(100,10)) input2 = tf.keras.Input(shape=(100,10)) x1 =
tf.keras.layers.LSTM(100)(input1) x2 = tf.keras.layers.LSTM(100)(input2) x =
tf.concat([x1,x2],axis=-1) pre = tf.keras.layers.Dense(10)(x) # 多输入模型 model =
tf.keras.Model(inputs=[input1,input2],outputs=pre)
model.compile(optimizer=tf.keras.optimizers.Adam(0.01),loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True),metrics=["accuracy"])
input1 = tf.random.uniform((1000,100,10),minval=0,maxval=1) input2 =
tf.random.uniform((1000,100,10),minval=0,maxval=1) label =
tf.random.uniform((1000,10),minval=0,maxval=1)
model.fit((input1,input2),label,epochs=10,batch_size=50)
3.子类建模
# 通过继承 tf.keras.Model自定义模型 import tensorflow as tf class
Mymodel(tf.keras.Model): # init 在模型初始化的时候会传递参数 这个参数主要用来配置一些变量 def
__init__(self,number_class=10): super(Mymodel,self).__init__() self.dense1 =
tf.keras.layers.Dense(10) self.lstm1 = tf.keras.layers.LSTM(100) self.dense2 =
tf.keras.layers.Dense(number_class) # 这里的call在model.fit时自动传入参数x def
call(self,inputs): x = self.lstm1(inputs) x = self.dense1(x) y = self.dense2(x)
return y model = Mymodel(number_class=10)
model.compile(optimizer=tf.keras.optimizers.Adam(0.01),loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True),metrics=["accuracy"])
x = tf.random.uniform((1000,10,20)) y = tf.random.uniform((1000,10))
model.fit(x,y,epochs=10,batch_size=40)
 

技术
©2019-2020 Toolsou All rights reserved,
Element-Ui组件 Message 消息提示, alert 弹窗Java:案例理解-接口回调element-ui踩坑记录【Golang 基础系列十】Go 语言 条件语句之if使用css样式设计一个简单的html登陆界面2020顺丰前端暑期实习面经(已过)无孔化就是手机的未来?还有很多问题需要解决【C#】实现学生成绩信息管理系统云原生应用如何做到低成本获得高稳定?用HTML+CSS做一个漂亮简单的个人网页