欧先生(R语言)玩转Tensorflow(一)

各位看客,首先请允许我对标题做个简要的说明。这里的“欧先生”确实有耍宝的嫌疑,事实上我们这里用的平台是Microsoft R Open,简称MRO(具体说明可以看我另一篇文章https://zhuanlan.zhihu.com/p/29224706)。欧先生的灵感来源于 MRO,将其后面字母小写,不就是Mr 欧吗?哈哈!

言归正传,很多人告诉我要用Python才能调用Tensorflow,对于我这个用惯R的人来说,换语法实在太痛苦了。为了解决和我一样懒得换语法,又想常用畅用Tensorflow的小伙伴,我们开出了这个系列文档(大量内容为翻译、整理、理解,所以不能说是课程)。

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。TensorFlow最初由Google Brain团队开发,用于Google的研究和生产,于2015年11月9日在Apache 2.0开源许可证下发布。

https://zh.wikipedia.org/wiki/TensorFlow

下面我们开始今天的具体的具体操作

定义张量

什么是张量?通常定义张量的物理学或传统数学方法,是把张量看成一个多维数组,在同构的意义下,第零阶张量( {\displaystyle r=0} r=0)为标量,第一阶张量( {\displaystyle r=1} r=1)为矢量, 第二阶张量( {\displaystyle r=2} r=2)则成为矩阵。

https://zh.wikipedia.org/wiki/%E5%BC%B5%E9%87%8F

1 Tensorflow的安装

install.packages("tensorflow")   #安装tensorflow,当然也可以用Rstudio手动安装
library(tensorflow)  #加载包

2 查看定义的不同

m1 <- matrix(c(1.0, 2.0, 
               3.0, 4.0), byrow=T, nrow=2)
m3 <- tf$constant(matrix(c(1.0, 2.0, 
                           3.0, 4.0), byrow=T, nrow=2))

这里m1是标准的R语言矩阵定义,m3是tensorflow下的常量定义。

3 显示变量类型

class(m1)
class(m3)

看看结果吧

> class(m1)
[1] "matrix"
> class(m3)
[1] "tensorflow.python.framework.ops.Tensor"      "tensorflow.python.framework.ops._TensorLike"
[3] "python.builtin.object"   

很明显,tensorflow下定义变量会和R语言有很大差别,那么应该如何定义和运算呢?

请听下回分解。。。。。。。

我们的环境

  • WIN7 64位
  • RSTUDIO
  • Microsoft R Open 3.4

编后语

本文是R语言数据分析系列中的第一篇,我们将继续推出R语言语法、统计分析数据挖掘等一系列文章。你的点赞和关注使我们最大的动力。

    原文作者:tntboon
    原文地址: https://zhuanlan.zhihu.com/p/29595394
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞