小锋子Shawn(403568338)  13:51:23
mnist.training.images?
墨须(964489899)  13:51:27
我的图片是100*100的,该怎么兼容。  
小锋子Shawn(403568338)  13:51:33
你取一个,然后显示就好。
墨须(964489899)  13:51:38
恩恩
黑羽毛(82878247)  13:51:57
把你的图片展成1维的100*100
小锋子Shawn(403568338)  13:52:10
demo里面数据怎么处理的,你要找突破口
墨须(964489899)  13:52:12
这样阿。  那怎么把自己写的图片  搞成训练集呢?
小锋子Shawn(403568338)  13:52:17
到那里就自己load
黑羽毛(82878247)  13:52:24
官方教程中784改成10000就ok了
黑羽毛(82878247)  13:52:54
分几类自己就把10该几就ok

墨须(964489899)  13:53:00
问题一大堆, 具体格式 。 所以必须找一个demo 才敢弄。 或者至少把代码先过一边
墨须(964489899)  13:53:26
你们都是高手, 
黑羽毛(82878247)  13:53:33
你要识别图片中的什么呢
墨须(964489899)  13:54:02
还没想好。 就是自己随便画点东西,然后来识别。
小锋子Shawn(403568338)  13:54:30

黑羽毛(82878247)  13:54:34
首先要确定分几类
黑羽毛(82878247)  13:54:53
用cnn应该是比较好的方法
小锋子Shawn(403568338)  13:54:55
其实问题还是有的,就是一次性读入所有数据,图像大了就不现实
黑羽毛(82878247)  13:57:17
图像太大可以用感知机进行特征学习,实现降维,然后在用cnn
小锋子Shawn(403568338)  13:59:31
[未知表情]他看到softmax,那就看完demo了,差不多了,然后逐步看就好。
小锋子Shawn(403568338)  13:59:48
用print看数据怎么处理。
黑羽毛(82878247)  14:01:45
看什么数据
黑羽毛(82878247)  14:02:02
tf变量的必须要先run才行
小锋子Shawn(403568338)  14:02:37
print数据的shape
黑羽毛(82878247)  14:03:52
那就试试print(xxx.shape)
墨须(964489899)  14:04:03
哦。  
墨须(964489899)  14:05:36
softmax 在的输入变量应该是tf.matmul(x,W) + b  的结果 对把。

这些结果应该是  很多个  数字    是一个 一维数组 对把。

然后把这些数组 用刚才发发的那个图片 进行运算。 得到概率。 这个解释有错误吗
黑羽毛(82878247)  14:06:13
是的
墨须(964489899)  14:07:18
现在我的问题是, 我了解了这个过程。 但是不理解。  为啥是概率。 没看明白。 。。。 
小锋子Shawn(403568338)  14:07:39
tf.matmul(x,W) + b
小锋子Shawn(403568338)  14:07:45
y=wx+b
墨须(964489899)  14:07:50
恩恩 
小锋子Shawn(403568338)  14:08:25
因为数值被压成0-1之间
黑羽毛(82878247)  14:08:41
它分10个数字,经过神经网络运算后告诉你分别是0-9每个数字的概率
小锋子Shawn(403568338)  14:08:48
所有“误”认为概率
黑羽毛(82878247)  14:08:52
概率最大的就是它认为的数字了
墨须(964489899)  14:09:20
好吧。 我再琢磨琢磨 。 
黑羽毛(82878247)  14:09:50
比如输入的图片,运算完认为是7的概率位0.8,那么程序就识别这个图片位7
小锋子Shawn(403568338)  14:10:17
[未知表情]概率就是0-1的实数
墨须(964489899)  14:10:34
我再重头捋一边。  稍等阿
小锋子Shawn(403568338)  14:10:37
然后softmax出来的值在0-1之间,所以可视为概率
黑羽毛(82878247)  14:10:47
是的,但是所有分类的概率加一起必须为1
黑羽毛(82878247)  14:12:16
比如分三类的话,第一类是0.2,第二类也是0.2,那第三类一定是1-0.2-0.2=0.6
小锋子Shawn(403568338)  14:19:20

小锋子Shawn(403568338)  14:19:45
两个式子计算出了一个,另外一个就是1-P
墨须(964489899)  14:20:16

看下这个图。  图1  乘以 图 2  的到 图3 的结果。  那么 图3 和图4 能相加吗?   图3和 图4  行列 宽度不一样阿。

发送消息内容超长,请分条发送。
墨须(964489899)  14:21:14

看下这个图。  图1  乘以 图 2  的到 图4 的结果。  那么 图3 和图4 能相加吗?   图3和 图4  行列 宽度不一样阿。
黑羽毛(82878247)  14:21:42
3和4都是10列可以加
小锋子Shawn(403568338)  14:21:41

小锋子Shawn(403568338)  14:22:08
一类高概率,另一类就是低概率;反之亦然。
墨须(964489899)  14:22:21
@黑羽毛  但是 4 是 784 行阿。  图 3  图 4  行数 不相同阿
黑羽毛(82878247)  14:22:41
每行分别加
墨须(964489899)  14:23:18
好吧。 只能这样了
黑羽毛(82878247)  14:24:00
784*10个表你要弄清是什么意思
墨须(964489899)  14:24:27
权重阿。  10个数字 对应的  像素权重
小锋子Shawn(403568338)  14:24:32
y_predict就是各个实例属于10类的概率
黑羽毛(82878247)  14:24:40
是的
小锋子Shawn(403568338)  14:25:27

小锋子Shawn(403568338)  14:25:36
a1-a10代入softmax
墨须(964489899)  14:25:37
x = tf.placeholder(tf.float32, [None, 784])

重点是这个代码。  [none,784]  到底表示的是  一维数组  还是2维数组。

如果是2维数组的话,  刚才哪个公式 最后一步 +b 就没法计算阿
小锋子Shawn(403568338)  14:25:43
每行
小锋子Shawn(403568338)  14:26:26
二维数组
小锋子Shawn(403568338)  14:26:31
每行一个样本
墨须(964489899)  14:27:21
恩恩。 那么问题来了。  图1  和 图2 相乘。 得到的还是一个2维数组,  图4 即 b 是一个一维数组。 那么  +b 这个 运算 就是错的阿
黑羽毛(82878247)  14:27:24
@墨须 图4不是784行吧
黑羽毛(82878247)  14:27:30
应该是n行
小锋子Shawn(403568338)  14:27:42
n行
墨须(964489899)  14:28:01
@黑羽毛  图4 应该是 多少个图片 就是多少行。  
黑羽毛(82878247)  14:28:16

墨须(964489899)  14:28:43
我的问题不影响 +b 这个 代码有问题。  2维数组   + 1维数组  怎么加 这个运算 是正确的吗
黑羽毛(82878247)  14:29:25
这个加不要理解成矩阵想加就行了
墨须(964489899)  14:30:40
所以问题应该是出在 x的定义上。  x 是个 1维数组。  那么一切就都ok 了
小锋子Shawn(403568338)  14:31:22
比如100个样本,x为100x784, W为784x10,结果为100x10,b为一维数组,由于有100个样本,复制一百行
小锋子Shawn(403568338)  14:31:29
我想这样的
黑羽毛(82878247)  14:31:59

墨须(964489899)  14:32:17
意思是懂了。  就是想弄清 tensorflow 的运行机制。  他到底是怎么搞的
小锋子Shawn(403568338)  14:33:45
x是每行样本,乘以W的每一列,要加上一个b的
黑羽毛(82878247)  14:34:00
tensorflow就是先列出所有的公式(所谓的画运行图),然后统一输入数据一起计算(所谓的run)
小锋子Shawn(403568338)  14:34:47
b其实100行都相同的
黑羽毛(82878247)  14:34:49
没有run之前,都只是没有带入数据的公式而已
墨须(964489899)  14:34:55
x  应该是 多少个 图像 就有多少行。  这个也是对的。

但是最后那个计算公式 + b 是不对的。

问题出在哪里? 该怎么解决
小锋子Shawn(403568338)  14:35:03
b的参数就是10个
墨须(964489899)  14:35:18
b 是1维数组 
黑羽毛(82878247)  14:36:11
它用的是+而不是add
墨须(964489899)  14:37:06
你的意思是  运算符号 +  这也行
黑羽毛(82878247)  14:37:41
这两个意思是不一样的
黑羽毛(82878247)  14:37:48
你说的是add
墨须(964489899)  14:38:09
嗯嗯。 
黑羽毛(82878247)  14:38:33
乘的时候用的是matmul而不是*
墨须(964489899)  14:39:13
应该是的。 百度一下。找确切答案
墨须(964489899)  14:42:39
兄弟 写个demo 测试一下 + 符号。 我菜鸟 
黑羽毛(82878247)  14:43:42
这个简单
墨须(964489899)  14:44:03
谢谢阿。  这些我就通透了。  
黑羽毛(82878247)  14:47:14
import tensorflow as tf
matrix1 = tf.constant([[3,3],[4,4],[5,6]])
matrix2 = tf.constant([[2,2]])
matrix3 = matrix1+matrix2
matrix4 = tf.add(matrix1,matrix2)
with tf.Session() as sess:
    result = sess.run(matrix3)
    print(result)
    result = sess.run(matrix4)
    print(result)
黑羽毛(82878247)  14:47:47
[[5 5]
 [6 6]
 [7 8]]
[[5 5]
 [6 6]
 [7 8]]结果居然是一样的
小锋子Shawn(403568338)  14:48:06
+ is short for add
墨须(964489899)  14:49:23
就是说  +  就是  没一行 都是  +b 对的哦。  
墨须(964489899)  14:49:37
问题解决了  是把。  再确认一下
黑羽毛(82878247)  14:50:02
这是肯定的
墨须(964489899)  14:50:28
太感谢了。  终于入门了。  

 matrix1 = tf.constant([[3,3],[4,4],[5,6]])
matrix2 = tf.constant([[2,2]])
小锋子Shawn(403568338)  14:51:42
应该自动检查shape
小锋子Shawn(403568338)  14:51:51
然后repmat
小锋子Shawn(403568338)  14:52:34
repmat就是复制某向量/矩阵若干次,
 

tensorflow 关于 矩阵 运算 + 符号得含义。 2维 数组 + 1纬数组, 就是每一行都 加一边 1纬数组。 呵呵的更多相关文章

  1. c语言运算符号的优先级

    c语言运算符号的优先级 本文来自百度搜索只为查看方便 优先级等级口诀: 圆方括号.箭头一句号, 自增自减非反负.针强地址长度, 乘除,加减,再移位, 小等大等.等等不等, 八位与,七位异,六位或,五与 ...

  2. SAS︱操作语句(if、do、select、retain、array)、宏语言、统计量、运算符号

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- SAS中的一些常见的符号.运算符是一种符号①比 ...

  3. Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)

    case语句适用于需要进行多重分支的应用情况. case分支语句的格式如下: case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2        ;; *) 默认执行的命令序列  ...

  4. linux中的特殊符号及其含义梳理

    1. 重定向符号及含义 注意:箭头流向即是数据的流向. 数字0:标准输入(standard input,简写stdin),数据从右往左方向流动 数字1:标准正确输出(standard output,简 ...

  5. SVN版本控制器中各符号的含义

    SVN符号的含义 项目开发过程中,随着学习的不断深入,开始慢慢接触到版本管理控制工具,其实这个工具主要用于团队开发之中,但对于个人项目的备份也有好处,可以避免在电脑出现不可预知的故障时,最大化的保护自 ...

  6. Java运算符号,对象赋值,别名

    生活发生的一切,才会促使着我继续前行,今天继续更新哦,看书中的代码练习. 例子1  引入net.mindview.util.Print.* ,方便打印结果. package com.date0529; ...

  7. 如何用MathType编辑集合运算符号

    在涉及到集合的运算中,有交并且几种常见的运算,这在数学问题中也是很常见的公式.在用MathType编辑这些符号时,该怎么编辑呢?下面就介绍MathType集合运算符号的编辑方法. 具体操作过程如下: ...

  8. Linux中设置vim自动在运算符号两边加上空格

    vim中设置自动在=+-之类的运算符号左右两边加上空格.原版的vim不带这个功能,写出的代码例如z=x+y,不美观,很多编译器(如VS)能够自动在符号两边加上空格,如z = x + y,看起来比较美观 ...

  9. bash 特殊符号的含义

    bash常见特殊符号及含义 linux中shell变量的含义解释

随机推荐

  1. vue实现动画和css3动画属性

    一.vue动画实现原理: 动画的实现,必须通过元素的显示隐藏或销毁创建.v-show  v-if vue中如果需要使用动画的时候,需要使用一个内置组件transition组件 该组件有一个name属性 ...

  2. k3 cloud在站点中新增用户

    1.进去金蝶云企业平台: 网址:https://cloud.kingdee.com/pt/ 2.进入控制台页面,我的产品下面选择添加用户 去cloud平台新增并同步用户注册信息 3.去管理中心更新用户 ...

  3. ThinkPHP中的"路由"是什么意思?

    路由(route)是指根据url, 分配到对应的处理程序的映射. 简单来说,就是一个路径的解析,根据客户端提交的路径,将请求解析到相应的模块/控制器/方法上. 转载自:https://blog.csd ...

  4. Redis5新特性

    Redis5.0的12个新特性 1.数据类型Stream 本质上是一个消费者等待生产者发送新的数据 使用情景 其他五种数据结构无法实现的需求,可以通过stream来实现 直接贴近业务需求,提升开发效率 ...

  5. CSS的优先级理解

    样式的优先级 多重样式(Multiple Styles):如果外部样式.内部样式和内联样式同时应用于同一个元素,就是使多重样式的情况. 一般情况下,优先级如下: (外部样式)External styl ...

  6. CSS初识

    CSS:层叠样式表,控制网页数据样式显示,使得数据的表现和内容分离 CSS的引入方式 使用元素内嵌样式表:例<a style=”font-size:40px”></a>表示在a ...

  7. bzoj4810 [Ynoi2017]由乃的玉米田 莫队+bitset(+数论)

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4810 题解 看数据范围和题目名字应该是根号算法. 因为询问除了区间外,还有第 \(3\) 个参 ...

  8. button标签设置line-height问题

    默认设置line-height是不会有问题的. 加了边框后就会出现问题. 如果想要解决的话.就调整行高,自己满意为止.

  9. ubuntu 14.04 安装openjdk 8

    最近准备在ubuntu14.04上安装Oracle,但是需要提前安装jdk,发现问题挺多的,后面看到了如下的操作步骤,成功安装,特意记录下来. 致谢:https://www.yangshenglian ...

  10. 举个例子去理解vuex(状态管理),通俗理解vuex原理,通过vue例子类比

    通俗理解vuex原理---通过vue例子类比   本文主要通过简单的理解来解释下vuex的基本流程,而这也是vuex难点之一. 首先我们先了解下vuex的作用vuex其实是集中的数据管理仓库,相当于数 ...