深度学习之tensorflow

哈哈丶Stupid 哈哈丶Stupid     2022-09-30     251

关键词:

一、TensorFlow简介

1.TensorFlow定义

   tensor  :张量,N维数组

   Flow   :  流,基于数据流图的计算

   TensorFlow : 张量从图像的一端流动到另一端的计算过程,是将复杂的数据结     构传输至人工智能神经网络中进行分析和处理的过程。


 

2. 工作模式:

    图graphs表示计算任务,图中的节点称之为op(operation) ,一个 op可以获得0个      或多个张量(tensor),通过创建会话(session)对象来执行计算,产生0个或多个tensor。 

   其工作模式分为两步:(1)define the computation graph

                                        (2)run the graph (with data) in session

 


 

3. 特点:

    (1)异步:一处写、一处读、一处训练

    (2)全局 : 操作添加到全局的graph中 , 监控添加到全局的summary中,

            参数/损失添加到全局的collection中

     (3)符号式的:创建时没有具体,运行时才传入


 

二、   代码

1 、定义神经网络的相关参数和变量

    

技术分享
 1 # -*- coding: utf-8 -*-
 2 # version:python 3.5
 3 import tensorflow as tf
 4 from numpy.random import RandomState
 5 
 6 batch_size = 8
 7 x = tf.placeholder(tf.float32, shape=(None, 2), name="x-input")
 8 y_ = tf.placeholder(tf.float32, shape=(None, 1), name=y-input)
 9 w1= tf.Variable(tf.random_normal([2, 1], stddev=1, seed=1))
10 y = tf.matmul(x, w1)
View Code

 

2、设置自定义的损失函数

     

技术分享
1 # 定义损失函数使得预测少了的损失大,于是模型应该偏向多的方向预测。
2 loss_less = 10
3 loss_more = 1
4 loss = tf.reduce_sum(tf.where(tf.greater(y, y_), (y - y_) * loss_more, (y_ - y) * loss_less))
5 train_step = tf.train.AdamOptimizer(0.001).minimize(loss)
View Code

 

3、生成模拟数据集

 

技术分享
1 rdm = RandomState(1)
2 X = rdm.rand(128,2)
3 Y = [[x1+x2+rdm.rand()/10.0-0.05] for (x1, x2) in X]
View Code

 

4、训练模型

 

技术分享
 1 with tf.Session() as sess:
 2     init_op = tf.global_variables_initializer()
 3     sess.run(init_op)
 4     STEPS = 5000
 5     for i in range(STEPS):
 6         start = (i*batch_size) % 128
 7         end = (i*batch_size) % 128 + batch_size
 8         sess.run(train_step, feed_dict={x: X[start:end], y_: Y[start:end]})
 9         if i % 1000 == 0:
10             print("After %d training step(s), w1 is: " % (i))
11             print sess.run(w1), "
"
12     print "Final w1 is: 
", sess.run(w1)
View Code

结果:

After 0 training step(s), w1 is: 
[[-0.81031823]
 [ 1.4855988 ]] 

After 1000 training step(s), w1 is: 
[[ 0.01247112]
 [ 2.1385448 ]] 

After 2000 training step(s), w1 is: 
[[ 0.45567414]
 [ 2.17060661]] 

After 3000 training step(s), w1 is: 
[[ 0.69968724]
 [ 1.8465308 ]] 

After 4000 training step(s), w1 is: 
[[ 0.89886665]
 [ 1.29736018]] 

Final w1 is: 
[[ 1.01934695]
 [ 1.04280889]]

 

 

5、重新定义损失函数,使得预测多了的损失大,于是模型应该偏向少的方向预测

 

技术分享
 1 loss_less = 1
 2 loss_more = 10
 3 loss = tf.reduce_sum(tf.where(tf.greater(y, y_), (y - y_) * loss_more, (y_ - y) * loss_less))
 4 train_step = tf.train.AdamOptimizer(0.001).minimize(loss)
 5 
 6 with tf.Session() as sess:
 7     init_op = tf.global_variables_initializer()
 8     sess.run(init_op)
 9     STEPS = 5000
10     for i in range(STEPS):
11         start = (i*batch_size) % 128
12         end = (i*batch_size) % 128 + batch_size
13         sess.run(train_step, feed_dict={x: X[start:end], y_: Y[start:end]})
14         if i % 1000 == 0:
15             print("After %d training step(s), w1 is: " % (i))
16             print sess.run(w1), "
"
17     print "Final w1 is: 
", sess.run(w1)
View Code

结果:

 

After 0 training step(s), w1 is: 
[[-0.81231821]
 [ 1.48359871]] 

After 1000 training step(s), w1 is: 
[[ 0.18643527]
 [ 1.07393336]] 

After 2000 training step(s), w1 is: 
[[ 0.95444274]
 [ 0.98088616]] 

After 3000 training step(s), w1 is: 
[[ 0.95574027]
 [ 0.9806633 ]] 

After 4000 training step(s), w1 is: 
[[ 0.95466018]
 [ 0.98135227]] 

Final w1 is: 
[[ 0.95525807]
 [ 0.9813394 ]]


深度学习之tensorflow——基本使用

一、目前主流的深度学习框架Caffe,TensorFlow,MXNet,Torch,Theano比较库名称开发语言速度灵活性文档适合模型平台上手难易Caffec++/cuda快一般全面CNN所有系统中等TensorFlowc++/cuda/Python中等好中等CNN/RNNLinux,OSX难MXNetc++/cuda快好全面CNN所有系统... 查看详情

分享《深度学习之tensorflow:入门原理与进阶实战》pdf+源代码

下载:https://pan.baidu.com/s/1IAfr-tigqGE_njrfSATT_w《深度学习之TensorFlow:入门、原理与进阶实战》,李金洪著。中文PDF,939页,带书签目录,文字可以复制粘贴。配套源代码。如图: 查看详情

深度学习之tensorflow安装与初体验(代码片段)

深度学习之TensorFlow安装与初体验学习前搞懂一些关系和概念首先,搞清楚一个关系:深度学习的前身是人工神经网络,深度学习只是人工智能的一种,深层次的神经网络结构就是深度学习的模型,浅层次的神经网络结构是浅度... 查看详情

分享《深度学习之tensorflow:入门原理与进阶实战》pdf+源代码

下载:https://pan.baidu.com/s/1zI-pblJ5dEwjGVe-QQP9hQ更多资料:http://blog.51cto.com/3215120《深度学习之TensorFlow:入门、原理与进阶实战》,李金洪著。中文PDF,939页,带书签目录,文字可以复制粘贴。配套源代码。如图: 查看详情

分享《深度学习之tensorflow:入门原理与进阶实战》pdf+源代码

下载:https://pan.baidu.com/s/1zI-pblJ5dEwjGVe-QQP9hQ更多资料:http://blog.51cto.com/3215120《深度学习之TensorFlow:入门、原理与进阶实战》,李金洪著。中文PDF,939页,带书签目录,文字可以复制粘贴。配套源代码。如图: 查看详情

分享《深度学习之tensorflow:入门原理与进阶实战》pdf+源代码

下载:https://pan.baidu.com/s/1zI-pblJ5dEwjGVe-QQP9hQ更多分享资料:https://www.cnblogs.com/javapythonstudy/《深度学习之TensorFlow:入门、原理与进阶实战》,李金洪著。中文PDF,939页,带书签目录,文字可以复制粘贴。配套源代码。如图:  查看详情

深度学习之bert中文分类学习

深度学习之Bert中文分类学习BERT实验预训练结果分析tfhub_handle_preprocess="https://hub.tensorflow.google.cn/tensorflow/bert_zh_preprocess/3"bert_preprocess_model=hub.KerasLayer(tfhub_handle_preprocess)text_test=['我真是个天才啊! 查看详情

深度学习之tensorflow:卷积神经网络

基础概念:  卷积神经网络(CNN):属于人工神经网络的一种,它的权值共享的网络结构显著降低了模型的复杂度,减少了权值的数量。卷积神经网络不像传统的识别算法一样,需要对数据进行特征提取和数据重建,可以直接... 查看详情

深度学习之tensorflow模型优化和调优实例(代码片段)

近几年深度学习作为一种技术发展迅猛,越来越多的人工智能解决方案将深度学习作为其基本技术,然而构建深度学习模型并不是一件容易的事,为了获得满意的准确性和效率,通常需要数周的时间优化模型。模... 查看详情

深度学习之基于tensorflow2.0实现vgg16网络(代码片段)

...有了提升,VGG16与VGG19是VGG系列的代表,本次基于Tensorflow2.0实现VGG16网络。1.VGG16网络简介VGG16网络模型在2014年ImageNet比赛上脱颖而出,取得了在分类任务上排名第二,在定位任务上排名第一的好成绩。VGG16网络相比... 查看详情

深度学习之卷积神经网络cnn及tensorflow代码实现示例

一、CNN的引入在人工的全连接神经网络中,每相邻两层之间的每个神经元之间都是有边相连的。当输入层的特征维度变得很高时,这时全连接网络需要训练的参数就会增大很多,计算速度就会变得很慢,例如一张黑白的28×2828×28... 查看详情

深度学习之tensorflow框架(上)(代码片段)

1importtensorflowastf2importos3os.environ[‘TF_CPP_MIN_LOG_LEVEL‘]=‘2‘4deftensorflow_demo():56#原生python加法运算7a=2;8b=3;9c=a+b;10print("普通加法运算的结果:",c);11#tensorflow实现加法运算12a_t=tf.constant(2)13b_t=tf.constant(3)14c_t=a_t+b_t15print("tensorflow的加法运... 查看详情

深度学习之tensorflow框架(下)(代码片段)

1deftensor_demo():2"""3张量的演示4:return:5"""6tensor1=tf.constant(4.0)7tensor2=tf.constant([1,2,3,4])8linear_squares=tf.constant([[4],[9],[16],[25]],dtype=tf.int32)9print("tensor1:",tensor1)10print("tensor2:",tensor2)11print("linear_squares:",linear_squares)1213#生成常用张量14tensor3=tf.... 查看详情

深度学习之tensorflow框架(中)(代码片段)

...用于完整的程序中tf.InteractiveSession用于交互式上下文中的tensorflow查看张量的值都必须在会话里面c_new_value=new_sess.run(c_new)print("c_new_value:",c_new_value)print("a_new_value:",a_new.eval())1defsession_demo():2"""3会话的演示4:return:5"""6a_t=tf.constant(2,name... 查看详情

深度学习之tensorflow模型优化和调优实例(代码片段)

...08;基于paper或者基于直觉等均可)构建神经网络(TensorFlow,Keras等均可以&# 查看详情

深度学习资料下载链接汇总

...//quqi.gblhgk.com/s/4910388/nCjUhVSdU8G7svaW)​​​​[2.深度学习之TensorFlow](https://quqi.gblhgk.com/s/4910388/mMeS1qprELGsg7fV)​​​​注意如果下载链接失效,请及时下下方评论或者私聊作者​​1.深度学习之numpy实现2.深度学习 查看详情

人工智能深度学习入门练习之(10)tensorflow–介绍

TensorFlow是一个开源的深度学习框架,由谷歌团队开发。TensorFlow使用方便,开发人员可以用来开发各种人工智能应用。TensorFlow的官方网站:www.tensorflow.orgTensorFlow的主要特性:以张量(一种多维数组)为基础,轻松定义、计算数学算... 查看详情

tensorflow学习之softmaxregression

电脑配置:win10+Anaconda3+pyton3.5+vs2013+tensorflow+Gpu980+matlab2016bsoftmaxregression的详细介绍,请参考黄文坚的《tensorflow实战》的第3.2节。原书pdf下载地址: 链接:https://pan.baidu.com/s/1sk8Qm4X密码:28jk原书code下载地址:链接:https://pan 查看详情