tensorflow - 将 tf.keras.layers 与 Tensorflow 低级 API 相结合
问题描述
我可以将 tf.keras.layers 与低级张量流结合起来吗?
代码不正确,但我想做这样的事情:创建占位符,稍后将提供数据(在 tf.Session() 中)并将该数据提供给我的模型
X, Y = create_placeholders(n_x, n_y)
output = create_model('channels_last')(X)
cost = compute_cost(output, Y)
解决方案
是的,它与使用tf.layers.dense()
. 在最新的 tensorflow 版本中,使用tf.keras.layers.Dense()
实际上是一种首选方式1.13
(tf.layers.dense()
已弃用)。例如
import tensorflow as tf
import numpy as np
x_train = np.array([[-1.551, -1.469], [1.022, 1.664]], dtype=np.float32)
y_train = np.array([1, 0], dtype=int)
x = tf.placeholder(tf.float32, shape=[None, 2])
y = tf.placeholder(tf.int32, shape=[None])
with tf.name_scope('network'):
layer1 = tf.keras.layers.Dense(2, input_shape=(2, ))
layer2 = tf.keras.layers.Dense(2, input_shape=(2, ))
fc1 = layer1(x)
logits = layer2(fc1)
with tf.name_scope('loss'):
xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)
loss_fn = tf.reduce_mean(xentropy)
with tf.name_scope('optimizer'):
optimizer = tf.train.GradientDescentOptimizer(0.01)
train_op = optimizer.minimize(loss_fn)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
loss_val = sess.run(loss_fn, feed_dict={x:x_train, y:y_train})
_ = sess.run(train_op, feed_dict={x:x_train, y:y_train})
推荐阅读
- c# - 如何同时调用Windows服务中的两个方法C#
- c# - IQueryable 可以用于内存中的集合吗?
- react-native - 在 kurento 中传递视频如何反应原生
- php - 流明队列突然中断
- angular - 没有找到与 exportAs 'ngForm' 相关的指令。已尝试所有建议
- python - 如何将时区添加到日期时间对象?
- twitter-bootstrap - 调整屏幕大小时显示引导断点名称
- r - 将使用 golem 制作的闪亮应用程序部署到 shinyapps.io 会出现错误
- python - 如何遍历到当前目录中每个子目录的最后一级?
- view - 在 couchdb 从 1.6.1 迁移到 2.3.1 期间,由于内存问题 couchup 实用程序需要大量时间重建视图