TensorFlow高层封装-Slim,Keras,Estimator

本文介绍了TensorFlow的高层封装库,包括使用tf.slim实现的MNIST上的LeNet-5模型,利用Keras构建的RNN情感分析模型,以及Keras的灵活性展示,同时概述了Estimator的基本应用。
摘要由CSDN通过智能技术生成

现在比较流行的tensorflow高层封装主要有4个,分别是Slim,TFLearn,Keras,Estimator.

使用tf.slim在MNIST数据集上实现LeNet-5模型

import tensorflow as tf
import tensorflow.contrib.slim as slim
import numpy as np
from tensorflow.examples.tutorials.mnist import input_data

def LeNet(input):
    input = tf.reshape(input,[-1,28,28,1])
    net = slim.conv2d(input,32,[5,5],stride=1,padding='SAME',scope='conv1')
    net = slim.max_pool2d(net,2,stride=2,padding='VALID',scope='pool2')
    net = slim.conv2d(net,64,[5,5],stride=1,padding='SAME',scope='conv3')
    net = slim.max_pool2d(net,2,stride=2,padding='VALID',scope='pool4')
    net = slim.flatten(net,scope='flatten')
    net = slim.fully_connected(net,500,scope='fc5')
    net = slim.fully_connected(net,10,scope='output')

    return net

def train(mnist):
    x = tf.placeholder(tf.float32,[None,784],name='x')
    y_ = tf.placeholder(tf.float32,[None,10],name='y')

    y = LeNet(x)
    cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y,labels=tf.argmax(y_,1))
    loss = tf.reduce_mean(cross_entropy)
    precision = tf.reduce_mean(tf.cast(tf.equal(tf.argmax(y,1),tf.argmax(y_,1)),tf.float32))
    train_step = tf.train.GradientDescentOptimizer(0.003).minimize(loss)

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

        for i 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值