TensorFlow 实战资料汇总
来源:互联网 发布:软件系统技术说明书 编辑:程序博客网 时间:2024/06/05 07:28
TensorFlow基础用法
1. 基本操作
import tensorflow as tf
import numpy as np
2. 乘法
a = tf.placeholder("float") # 创建符号变量b = tf.placeholder("float") y = tf.mul(a, b) # 乘法操作,作用在符号变量上。 sess = tf.Session() # 创建会话,计算符号变量表达式 a1 = 4b1 = 5print "%f + %f = %f"%(4, 5, sess.run(y, feed_dict={a: a1, b: b1})
3. 线性回归(模型:Y=W∗X+b)
# 生成训练数据 + 噪声,下面为了拟合 $$ Y = 2X $$trX = np.linspace(-1, 1, 101)trY = 2 * trX + np.random.randn(*trX.shape) * 0.33 # y=2x,但是加入了噪声X = tf.placeholder("float") #输入输出符号变量Y = tf.placeholder("float") # 定义模型def model(X, w): return tf.mul(X, w) # 线性回归只需要调用乘法操作即可。 # 模型权重 W 用变量表示w = tf.Variable(0.0, name="weights") # 共享变量y_model = model(X, w) # 定义损失函数cost = (tf.pow(Y-y_model, 2)) # 平方损失函数 # 构建优化器,最小化损失函数。train_op = tf.train.GradientDescentOptimizer(0.01).minimize(cost) # 构建会话sess = tf.Session() # 初始化所有的符号共享变量init = tf.initialize_all_variables() # 运行会话sess.run(init) # 迭代训练for i in range(100): for (x, y) in zip(trX, trY): sess.run(train_op, feed_dict={X: x, Y: y}) # 打印权重wprint(sess.run(w))
4. 逻辑回归(模型:y=sigmoid(X∗W+b) )
# 初始化权重wdef init_weights(shape): return tf.Variable(tf.random_normal(shape, stddev=0.01)) # 定义模型def model(X, w): return tf.matmul(X, w) # 获取mnist 数据mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)trX, trY, teX, teY = mnist.train.images, mnist.train.labels, mnist.test.images, mnist.test.labels # 定义占位符变量X = tf.placeholder("float", [None, 784])Y = tf.placeholder("float", [None, 10])w = init_weights([784, 10])py_x = model(X, w) # 定义损失函数,交叉熵损失函数cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(py_x, Y)) # 训练操作,最小化损失函数train_op = tf.train.GradientDescentOptimizer(0.05).minimize(cost) # 预测操作,predict_op = tf.argmax(py_x, 1) # 定义会话sess = tf.Session()init = tf.initialize_all_variables()sess.run(init) # 调用多次梯度下降for i in range(100): # 训练,每个batch, for start, end in zip(range(0, len(trX), 128), range(128, len(trX), 128)): sess.run(train_op, feed_dict={X: trX[start:end], Y: trY[start:end]}) # 测试,每个epoch print i, np.mean(np.argmax(teY, axis=1) == sess.run(predict_op, feed_dict={X: teX, Y: teY}))
TensorFlow实现案例
https://github.com/aymericdamien/TensorFlow-Examples
这是github上的一个教程和开源项目集,涵盖了TensorFlow从入门到案例实现的各个层面的信息,足够让你从初步认识TensorFlow到自己进行项目实践。
1 - 入门
Hello World
笔记:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/1_Introduction/helloworld.ipynb
代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/1_Introduction/helloworld.py
基本操作
笔记:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/1_Introduction/basic_operations.ipynb
代码: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/1_Introduction/basic_operations.py
2 - 基本模型
最近邻
笔记: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/nearest_neighbor.ipynb
代码: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/2_BasicModels/nearest_neighbor.py
线性回归
笔记:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/linear_regression.ipynb
代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/2_BasicModels/linear_regression.py
Logistic 回归
笔记:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/2_BasicModels/logistic_regression.ipynb
代码: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/2_BasicModels/logistic_regression.py
3 - 神经网络
多层感知器
笔记: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/multilayer_perceptron.ipynb
代码: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/multilayer_perceptron.py
卷积神经网络
笔记: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/convolutional_network.ipynb
代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/convolutional_network.py
循环神经网络(LSTM)
笔记:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/recurrent_network.ipynb
代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/recurrent_network.py
双向循环神经网络(LSTM)
笔记: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/bidirectional_rnn.ipynb
代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/bidirectional_rnn.py
动态循环神经网络(LSTM)
代码: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/dynamic_rnn.py
自编码器
笔记:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/autoencoder.ipynb
代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/autoencoder.py
4 - 实用技术
保存和恢复模型
笔记: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/4_Utils/save_restore_model.ipynb
代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/4_Utils/save_restore_model.py
图和损失可视化
笔记:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/4_Utils/tensorboard_basic.ipynb
代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/4_Utils/tensorboard_basic.py
Tensorboard——高级可视化
代码:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/4_Utils/tensorboard_advanced.py
5 - 多 GPU
多 GPU 上的基本操作
笔记:https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/5_MultiGPU/multigpu_basics.ipynb
代码: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/5_MultiGPU/multigpu_basics.py
数据集
一些案例需要 MNIST 数据集进行训练和测试。不要担心,运行这些案例时,该数据集会被自动下载下来(使用 input_data.py)。MNIST 是一个手写数字的数据库,查看这个笔记了解关于该数据集的描述: https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/0_Prerequisite/mnist_dataset_intro.ipynb
官方网站:http://yann.lecun.com/exdb/mnist/
更多案例
接下来的示例来自 TFLearn ,这是一个为 TensorFlow 提供了简化的接口的库。你可以看看,这里有很多示例和预构建的运算和层。
示例:https://github.com/tflearn/tflearn/tree/master/examples
预构建的运算和层:http://tflearn.org/doc_index/#api
教程
TFLearn 快速入门。通过一个具体的机器学**任务学** TFLearn 基础。开发和训练一个深度神经网络分类器。
笔记:
https://github.com/tflearn/tflearn/blob/master/tutorials/intro/quickstart.md
基础
线性回归,使用 TFLearn 实现线性回归:
https://github.com/tflearn/tflearn/blob/master/examples/basics/linear_regression.py
逻辑运算符。使用 TFLearn 实现逻辑运算符:
https://github.com/tflearn/tflearn/blob/master/examples/basics/logical.py
权重保持。保存和还原一个模型:
https://github.com/tflearn/tflearn/blob/master/examples/basics/weights_persistence.py
微调。在一个新任务上微调一个预训练的模型:
https://github.com/tflearn/tflearn/blob/master/examples/basics/finetuning.py
使用 HDF5。使用 HDF5 处理大型数据集:
https://github.com/tflearn/tflearn/blob/master/examples/basics/use_hdf5.py
使用 DASK。使用 DASK 处理大型数据集:
https://github.com/tflearn/tflearn/blob/master/examples/basics/use_dask.py
计算机视觉
多层感知器。一种用于 MNIST 分类任务的多层感知实现:
https://github.com/tflearn/tflearn/blob/master/examples/images/dnn.py
卷积网络(MNIST)。用于分类 MNIST 数据集的一种卷积神经网络实现:
https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_mnist.py
卷积网络(CIFAR-10)。用于分类 CIFAR-10 数据集的一种卷积神经网络实现:
https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_cifar10.py
网络中的网络。用于分类 CIFAR-10 数据集的 Network in Network 实现:
https://github.com/tflearn/tflearn/blob/master/examples/images/network_in_network.py
Alexnet。将 Alexnet 应用于 Oxford Flowers 17 分类任务:
https://github.com/tflearn/tflearn/blob/master/examples/images/alexnet.py
VGGNet。将 VGGNet 应用于 Oxford Flowers 17 分类任务:
https://github.com/tflearn/tflearn/blob/master/examples/images/vgg_network.py
VGGNet Finetuning (Fast Training)。使用一个预训练的 VGG 网络并将其约束到你自己的数据上,以便实现快速训练:
https://github.com/tflearn/tflearn/blob/master/examples/images/vgg_network_finetuning.py
RNN Pixels。使用 RNN(在像素的序列上)分类图像:
https://github.com/tflearn/tflearn/blob/master/examples/images/rnn_pixels.py
Highway Network。用于分类 MNIST 数据集的 Highway Network 实现:
https://github.com/tflearn/tflearn/blob/master/examples/images/highway_dnn.py
Highway Convolutional Network。用于分类 MNIST 数据集的 Highway Convolutional Network 实现:
https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_highway_mnist.py
Residual Network (MNIST):
https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_mnist.py
应用于 MNIST 分类任务的一种瓶颈残差网络(bottleneck residual network):https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_mnist.py
Residual Network (CIFAR-10)。应用于 CIFAR-10 分类任务的一种残差网络:
https://github.com/tflearn/tflearn/blob/master/examples/images/residual_network_cifar10.py
Google Inception(v3)。应用于 Oxford Flowers 17 分类任务的谷歌 Inception v3 网络:
https://github.com/tflearn/tflearn/blob/master/examples/images/googlenet.py
自编码器。用于 MNIST 手写数字的自编码器:
https://github.com/tflearn/tflearn/blob/master/examples/images/autoencoder.py
自然语言处理
循环神经网络(LSTM),应用 LSTM 到 IMDB 情感数据集分类任务: https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm.py
双向 RNN(LSTM),将一个双向 LSTM 应用到 IMDB 情感数据集分类任务:
https://github.com/tflearn/tflearn/blob/master/examples/nlp/bidirectional_lstm.py
动态 RNN(LSTM),利用动态 LSTM 从 IMDB 数据集分类可变长度文本:
https://github.com/tflearn/tflearn/blob/master/examples/nlp/dynamic_lstm.py
城市名称生成,使用 LSTM 网络生成新的美国城市名:
https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm_generator_cityname.py
莎士比亚手稿生成,使用 LSTM 网络生成新的莎士比亚手稿:
https://github.com/tflearn/tflearn/blob/master/examples/nlp/lstm_generator_shakespeare.py
Seq2seq,seq2seq 循环网络的教学示例:
https://github.com/tflearn/tflearn/blob/master/examples/nlp/seq2seq_example.py
CNN Seq,应用一个 1-D 卷积网络从 IMDB 情感数据集中分类词序列:
https://github.com/tflearn/tflearn/blob/master/examples/nlp/cnn_sentence_classification.py
强化学**
Atari Pacman 1-step Q-Learning,使用 1-step Q-learning 教一台机器玩 Atari 游戏:
https://github.com/tflearn/tflearn/blob/master/examples/reinforcement_learning/atari_1step_qlearning.py
Recommender-Wide&Deep Network,推荐系统中 wide & deep 网络的教学示例:
https://github.com/tflearn/tflearn/blob/master/examples/others/recommender_wide_and_deep.py
Notebooks
Spiral Classification Problem,对斯坦福 CS231n spiral 分类难题的 TFLearn 实现:
https://github.com/tflearn/tflearn/blob/master/examples/notebooks/spiral.ipynb
可延展的 TensorFlow
层,与 TensorFlow 一起使用 TFLearn 层:
https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/layers.py
训练器,使用 TFLearn 训练器类训练任何 TensorFlow 图:
https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/layers.py
Bulit-in Ops,连同 TensorFlow 使用 TFLearn built-in 操作:
https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/builtin_ops.py
Summaries,连同 TensorFlow 使用 TFLearn summarizers:
https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/summaries.py
Variables,连同 TensorFlow 使用 TFLearn Variables:
https://github.com/tflearn/tflearn/blob/master/examples/extending_tensorflow/variables.py
摘自--https://sanwen8.cn/p/63flBuU.html
- TensorFlow 实战资料汇总
- TensorFlow从入门到实战资料汇总
- 快速上手|TensorFlow从入门到实战资料汇总
- LSTM-tensorflow资料汇总
- Tensorflow---学习资料汇总
- 在Android上使用Tensorflow资料汇总
- TensorFlow 全网最全学习资料汇总之TensorFlow的技术应用
- TensorFlow及深度学习相关资料积累汇总【不定期更新】
- cocos2d-x 游戏开发实战经典资料汇总
- TensorFlow实战
- TensorFlow实战
- 资料汇总
- 资料汇总
- 资料汇总
- 资料汇总
- 资料汇总
- 资料汇总
- 资料汇总
- 《RDF Graph Partitions: a Brief Survey》——笔记
- 未来物联网全栈开发 --JavaScript or Python?
- Construct Binary Tree from Inorder and Postorder Traversal
- Java虚拟机(三)垃圾标记算法与Java对象的生命周期
- 【C语言】、杨氏矩阵
- TensorFlow 实战资料汇总
- C#数组
- Data source rejected establishment of connection, message from server: "Too many connections"
- 网络常用入侵技术分析
- 前端开发入门提升经验整理
- VS当添加了引用但是编译时仍然提示添加引用的解决方法
- hdu 1695 GCD
- [设计模式]代理模式
- JavaWeb学习九(jsp深入)