tensorflow和keras混用

在tensorflow中可以调用keras,有时候让模型的建立更加简单。如下这种是官方写法:

import tensorflow as tf
from keras import backend as K
from keras.layers import Dense
from keras.objectives import categorical_crossentropy
from keras.metrics import categorical_accuracy as accuracy
from tensorflow.examples.tutorials.mnist import input_data
# create a tf session,and register with keras。
sess = tf.Session()
K.set_session(sess)

# this place holder is the same with input layer in keras
img = tf.placeholder(tf.float32, shape=(None, 784))
# keras layers can be called on tensorflow tensors
x = Dense(128, activation='relu')(img)
x = Dense(128, activation='relu')(x)
preds = Dense(10, activation='softmax')(x)
# label
labels = tf.placeholder(tf.float32, shape=(None, 10))
# loss function
loss = tf.reduce_mean(categorical_crossentropy(labels, preds))

train_step = tf.train.GradientDescentOptimizer(0.5).minimize(loss)

mnist_data = input_data.read_data_sets('MNIST_data', one_hot=True)

# initialize all variables
init_op = tf.global_variables_initializer()
sess.run(init_op)

with sess.as_default():
    for i in range(1000):
        batch = mnist_data.train.next_batch(50)
        train_step.run(feed_dict={img:batch[0],
                                  labels:batch[1]})

acc_value = accuracy(labels, preds)
with sess.as_default():
    print(acc_value.eval(feed_dict={img:mnist_data.test.images,
                                    labels:mnist_data.test.labels}))

上述代码中,在训练阶段直接采用了tf的方式,甚至都没有定义keras的model!官网说 最重要的一步就是这里:

K.set_session(sess)

创建一个TensorFlow会话并且注册Keras。这意味着Keras将使用我们注册的会话来初始化它在内部创建的所有变量。 
keras的层和模型都充分兼容tensorflow的各种scope, 例如name scope,device scope和graph scope。

经过测试,下面这种不需要k.set_session()也是可以的。

 
  
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data

# build module

img = tf.placeholder(tf.float32, shape=(None, 784))
labels = tf.placeholder(tf.float32, shape=(None, 10))

x = tf.keras.layers.Dense(128, activation='relu')(img)
x = tf.keras.layers.Dense(128, activation='relu')(x)
prediction = tf.keras.layers.Dense(10, activation='softmax')(x)

loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=prediction, labels=labels))

train_optim = tf.train.AdamOptimizer().minimize(loss)
path="/home/vv/PycharmProject/Cnnsvm/MNIST_data"
mnist_data = input_data.read_data_sets(path, one_hot=True)

with tf.Session() as sess:
init = tf.global_variables_initializer()
sess.run(init)

for _ in range(1000):
batch_x, batch_y = mnist_data.train.next_batch(50)
sess.run(train_optim, feed_dict={img: batch_x, labels: batch_y})

acc_pred = tf.keras.metrics.categorical_accuracy(labels, prediction)
pred = sess.run(acc_pred, feed_dict={labels: mnist_data.test.labels, img: mnist_data.test.images})

print('accuracy: %.3f' % (sum(pred) / len(mnist_data.test.labels)))
print(pred)

如果在下载导入mnist数据出错,可以在网站上下好,本地导入。

mnist_data = input_data.read_data_sets(path, one_hot=True)
x1 = tf.layers.conv2d(img2,64,2)
x2 = tf.keras.layers.Conv2D(img2,64,2)
x3 = tf.keras.layers.Conv2D(64,2)(img2)

x1和x3卷积效果相同

转载于:https://www.cnblogs.com/a-little-v/p/9772836.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 安装tensorflowkeras可以使用Anaconda的conda命令,详情可以参考以下文档:https://docs.anaconda.com/anaconda/user-guide/tasks/tensorflow/好的,以下是在Anaconda中安装TensorFlowKeras的步骤: 1. 打开Anaconda Navigator,并在左侧的菜单栏中选择“Environments”选项卡。 2. 在“Environments”选项卡下方,选择您要安装TensorFlowKeras的环境。如果您没有创建新的环境,则可以使用默认的“base”环境。 3. 在选中的环境下,点击“Channels”按钮,确保添加了以下通道:conda-forge, defaults, and anaconda。 4. 在搜索框中搜索“tensorflow”和“keras”,选择需要安装的版本,然后点击“Apply”按钮。 5. 点击“Apply”按钮后,Anaconda将安装TensorFlowKeras及其相关依赖项。 6. 安装完成后,您可以通过打开终端或Anaconda Prompt并激活您的环境来验证安装。输入以下命令: ``` conda activate your_environment_name python import tensorflow as tf import keras ``` 如果您看到了TensorFlowKeras的版本信息,则表示安装成功。 希望这能帮助您安装TensorFlowKeras。 ### 回答2: anaconda是一个流行的Python发布版,它包含了各种Python软件包和库,可以用于科学计算、数据分析、机器学习等领域。Anaconda安装的Python集成了TensorFlowKeras,这两个库是目前最流行的深度学习框架之一。 安装TensorFlowKeras的步骤如下: 1. 打开AnacondaNavigator,选择“Environments”菜单。 2. 在Environments界面中,选择要安装TensorFlowKeras的环境,例如“base(root)”。 3. 单击“▶”图标以展开选定环境,然后在下拉菜单中选择“Open Terminal”。 4. 在终端中输入以下命令来安装TensorFlow: ``` conda install tensorflow ``` 5. 安装完成后,输入以下命令来安装Keras: ``` conda install keras ``` 6. 等待安装完成后,可以从终端退出,关闭AnacondaNavigator。 7. 在编写Python代码时,可以在其开头添加以下代码来导入TensorFlowKeras库: ``` import tensorflow as tf from tensorflow import keras ``` 至此,TensorFlowKeras的安装已成功完成,可以开始编写和运行深度学习代码。 需要注意的是,在安装和使用TensorFlowKeras时,可能会遇到不同的问题和错误,这需要根据具体情况进行调试和修复。另外,TensorFlowKeras的版本也可能会影响代码运行结果,因此在使用时需要选择适合自己的版本。 ### 回答3: Anaconda是Python的一个开源发行版,包含了数百个数据科学相关的软件包,TensorFlowKeras也是其中的两个非常流行的深度学习框架。在Anaconda中安装TensorFlowKeras可以方便快捷地部署深度学习模型。 首先,需要在Anaconda中创建一个新的环境来安装TensorFlowKeras。打开Anaconda Prompt或者终端,输入以下命令: ``` conda create -n tf-keras python=3.7 ``` 这个命令将会创建一个名为tf-keras的新环境,并且使用Python版本为3.7。输入y确认创建新环境。 接下来,需要在新环境中安装TensorFlow。使用以下命令: ``` conda activate tf-keras conda install tensorflow-gpu ``` 这个命令将会激活tf-keras环境,并且安装TensorFlow的GPU版本。如果没有GPU或者不想使用GPU版本,可以使用“conda install tensorflow”安装CPU版本。 最后,在tf-keras环境中安装Keras。使用以下命令: ``` conda install keras ``` 这个命令将会安装最新版本的Keras。现在,已经在Anaconda中成功安装了TensorFlowKeras。 为了验证安装是否成功,可以打开Anaconda Navigator,并且在tf-keras环境中启动Jupyter Notebook。在notebook中输入以下代码: ```python import tensorflow as tf import keras print(tf.__version__) print(keras.__version__) ``` 如果输出正确的TensorFlowKeras版本号,那么意味着安装成功了。现在,就可以在tf-keras环境中开始开发深度学习模型了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值