我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python神经网络TensorFlow常用基本操作有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python神经网络TensorFlow常用基本操作有哪些

本篇内容主要讲解“python神经网络TensorFlow常用基本操作有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python神经网络TensorFlow常用基本操作有哪些”吧!

    要将深度学习更快且更便捷地应用于新的问题中,选择一款深度学习工具是必不可少的步骤。
    TensorFlow是谷歌于2015年11月9日正式开源的计算框架。TensorFlow计算框架可以很好地支持深度学习的各种算法。

    TensorFlow很好地兼容了学术研究和工业生产的不同需求。

    一方面,TensorFlow的灵活性使得研究人员能够利用它快速实现新的模型设计;

    另一方面,TensorFlow强大的分布式支持,对工业界在海量数据集上进行的模型训练也至关重要。作为谷歌开源的深度学习框架,TensorFlow包含了谷歌过去10年间对于人工智能的探索和成功的商业应用。

    除了TensorFlow,目前还有一些主流的深度学习开源工具可以使用。每个工具都有着各自的特点,可以根据自己的需求和喜好选择适合自己的深度学习工具。比如我一开始学习深度学习的时候接触的是Caffe,然后TensorFlow开源之后了解到了TensorFlow的一些特性,感觉还是更喜欢TensorFlow的风格,当然也考虑到会使用一种以上的深度学习工具也算见不错的事情。

    这篇文章对现在流行的五个开源深度学习框架 caffe、Neon、TensorFlow、Theano、Torch 做了很严谨比较。作者开源了他们的比较 Benchmarks 代码:https://github.com/DL-Benchmarks/DL-Benchmarks

    文章比较了:可扩展性(extensibility)、hardware utilization(硬件利用率)和速度(speed)三个方面

    • 评估测试都是部署在单机上,对于多线程 CPU、GPU(Nvidia Titan X)都进行测试

    • 速度评估标准包括了梯度计算时间(gradient computation time)、前向传播时间(forward time)对于卷积神经网络,作者还

    • 对这几个深度框架支持的不同的卷积算法以及相应的性能表现做了实验

    通过实验得出了以下结论

    • Theano、Torch 是最具扩展性的深度学习框架

    • 在 CPU 上的测试性能来看,Torch 最优,其次是 Theano

    • 在 GPU 上的性能表现,对于大规模卷积以及全连接网络,还是 Torch 最优,其次是 Neon

    • Theano 在部署和训练 LSTM 网络中夺得拔筹caffe 是最容易测试评估性能的标准深度学习框架

    • 最后,TensorFlow 与 Theano 有些相似,是比较灵活的框架,但是其性能表现,目前还比不上上面的几个框架

    但是,毕竟这篇文章已经是过去时了,那时候TensorFlow 还只能用 cuDNN v.2 版本,而我现在已经装的是v5.1版本,而且TensorFlow 也已经发布了1.0版本。现在各工具性能如何,还需要新的评测才能说明问题。

    变量:创建、初始化、保存和加载

    当训练模型时,用变量来存储和更新参数。变量包含张量 (Tensor)存放于内存的缓存区。建模时它们需要被明确地初始化,模型训练后它们必须被存储到磁盘。这些变量的值可在之后模型训练和分析是被加载。

    本文档描述以下两个TensorFlow类。点击以下链接可查看完整的API文档:
    tf.Variable 类
    tf.train.Saver 类
    参考TensorFlow中文社区

    - 添加神经层

    输入参数有 inputs, in_size, out_size, 和 activation_function

    # 添加层def add_layer(inputs, in_size, out_size, activation_function=None):            weights = tf.Variable(tf.random_normal([in_size, out_size]), name='weights')            biases = tf.Variable(tf.zeros([1, out_size]) + 0.1, name='biases')            y = tf.matmul(inputs, weights) + biases        if activation_function is None:            outputs = y        else:            outputs = activation_function(y)        return outputs

    - loss

    loss = tf.reduce_mean(tf.reduce_sum(tf.square(ys - prediction), reduction_indices=[1]))

    分类问题的loss 函数 cross_entropy 交叉熵
    loss = tf.reduce_mean(-tf.reduce_sum(ys * tf.log(prediction), reduction_indices=[1]))

    - 创建

    当创建一个变量时,你将一个张量作为初始值传入构造函数Variable()。TensorFlow提供了一系列操作符来初始化张量,初始值是常量或是随机值。
    注意,所有这些操作符都需要你指定张量的shape。那个形状自动成为变量的shape。变量的shape通常是固定的,但TensorFlow提供了高级的机制来重新调整其行列数。

    # Create two variables.weights = tf.Variable(tf.random_normal([784, 200], stddev=0.35), name="weights")biases = tf.Variable(tf.zeros([200]), name="biases")

    - 初始化

    变量的初始化必须在模型的其它操作运行之前先明确地完成。最简单的方法就是添加一个给所有变量初始化的操作,并在使用模型之前首先运行那个操作。
    使用tf.global_variables_initializer()添加一个操作对变量做初始化。记得在完全构建好模型并加载之后再运行那个操作。

    # 7.初始化变量init = tf.global_variables_initializer()# tf.global_variables_initializer()是并行地初始化所有变量# 有时候会需要用另一个变量的初始化值给当前变量初始化,这就需要注意了# 用其它变量的值初始化一个新的变量时,使用其它变量的initialized_value()属性。# 你可以直接把已初始化的值作为新变量的初始值,或者把它当做tensor计算得到一个值赋予新变量。# w1 = tf.Variable(tf.random_normal([784, 200], stddev=0.35), name="w1")# w2 = tf.Variable(w1.initialized_value(), name="w2")# 8.启动图 (graph)sess = tf.Session()sess.run(init)

    - 由另一个变量初始化

    你有时候会需要用另一个变量的初始化值给当前变量初始化。由于tf.global_variables_initializer()是并行地初始化所有变量,所以在有这种需求的情况下需要小心。用其它变量的值初始化一个新的变量时,使用其它变量的initialized_value()属性。你可以直接把已初始化的值作为新变量的初始值,或者把它当做tensor计算得到一个值赋予新变量。

    w1 = tf.Variable(tf.random_normal([784, 200], stddev=0.35), name="w1")w2 = tf.Variable(w1.initialized_value(), name="w2")

    到此,相信大家对“python神经网络TensorFlow常用基本操作有哪些”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    免责声明:

    ① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

    ② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

    python神经网络TensorFlow常用基本操作有哪些

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档

    猜你喜欢

    python神经网络TensorFlow常用基本操作有哪些

    本篇内容主要讲解“python神经网络TensorFlow常用基本操作有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python神经网络TensorFlow常用基本操作有哪些”吧!要将深度
    2023-06-25

    CentOS6.5基本操作常用命令有哪些

    小编给大家分享一下CentOS6.5基本操作常用命令有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先大家可以使用virtualbox安装一个CENTOS6
    2023-06-10

    Git常用的基本操作命令有哪些

    这篇文章给大家分享的是有关Git常用的基本操作命令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。git 常用命令1. 常用$ git remote add origin git@github.com:yes
    2023-06-29

    编程热搜

    • Python 学习之路 - Python
      一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
      Python 学习之路 - Python
    • chatgpt的中文全称是什么
      chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
      chatgpt的中文全称是什么
    • C/C++中extern函数使用详解
    • C/C++可变参数的使用
      可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
      C/C++可变参数的使用
    • css样式文件该放在哪里
    • php中数组下标必须是连续的吗
    • Python 3 教程
      Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
      Python 3 教程
    • Python pip包管理
      一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
      Python pip包管理
    • ubuntu如何重新编译内核
    • 改善Java代码之慎用java动态编译

    目录