其他
TensorFlow 2.0中文开源书项目:日赞700,登上GitHub热榜
点击上方 "码农真经" 关注,星标或者置顶
22点24分准时推送,第一时间送达
来源:公众号 机器之心 | 编辑:真经君
上一篇:再见Excel!我开源了一款与Python深度集成的神器级IDE
TensorFlow2.0 正式版已发布一段时间,但目前系统性的相关教程还不够多。这个登上 GitHub 趋势榜的项目今日已获得 700 多赞,内容简单易懂,适合初学者和迁移到 tf2.0 的开发者使用。
class AE(keras.Model):
def __init__(self):
super(AE, self).__init__()
# Encoders
self.encoder = Sequential([
layers.Dense(256, activation=tf.nn.relu),
layers.Dense(128, activation=tf.nn.relu),
layers.Dense(h_dim)
])
# Decoders
self.decoder = Sequential([
layers.Dense(128, activation=tf.nn.relu),
layers.Dense(256, activation=tf.nn.relu),
layers.Dense(784)
])
def call(self, inputs, training=None):
# [b, 784] => [b, 10]
h = self.encoder(inputs)
# [b, 10] => [b, 784]
x_hat = self.decoder(h)
return x_hat
model = AE()
model.build(input_shape=(None, 784))
model.summary()
optimizer = tf.optimizers.Adam(lr=lr)
for epoch in range(100):
for step, x in enumerate(train_db):
#[b, 28, 28] => [b, 784]
x = tf.reshape(x, [-1, 784])
with tf.GradientTape() as tape:
x_rec_logits = model(x)
rec_loss = tf.losses.binary_crossentropy(x, x_rec_logits, from_logits=True)
rec_loss = tf.reduce_mean(rec_loss)
grads = tape.gradient(rec_loss, model.trainable_variables)
optimizer.apply_gradients(zip(grads, model.trainable_variables))
if step % 100 ==0:
print(epoch, step, float(rec_loss))
--END--
往日热文:
几行代码轻松实现,Tensorlayer 2.0推出深度强化学习基准库
华为发放20亿元奖金,抗击美国断供,奖励员工加班奋斗,网友:他们应得的
喜欢本文的朋友们,欢迎长按下图关注订阅号码农真经
收看更多精彩内
你在看吗?一起成长