tensorflow——入门代码二(minist master)

继上篇,继续视频代码笔记。

一:placeholder(tensorflow)

具体不造有什么用。

结果:

二:action function激励函数(tensorflow)

(目前:我自己理解为:1.压缩,使其值(激活值)位于0到1之间;2.表示了模型的偏好(个人理解,总觉得他和偏置值有着类似的作用))

三:添加神经网络层(tensorflow)(函数)

其实如果看过神经网络视频的,很容易理解代码。但是我自己画图:

和代码比较,我的输入输出和他是相反的(行列),有点不清楚了。因为我习惯matlab一样的构造方式,所以此处有点疑惑。

四:神经网络 (继上层代码)

参考网址:

(1)np.newaxis

https://blog.csdn.net/mameng1/article/details/54599306(感觉就是转置的作用)

(2)np.random.normal()

https://blog.csdn.net/lanchunhui/article/details/50163669(正态分布的误差,即随机误差)

(3)reduce_sum()中reduction_indices(其实就是表示维度)

https://blog.csdn.net/qq_34562093/article/details/80611611

(4)place_holder中None再干啥(其实就是为了表示,这是一个数,猜测是必须给定两个维度,而用None表示其没有这个维度)

https://blog.csdn.net/zj360202/article/details/70243127

代码:

(嗯,果然,一帆风顺是不存在的)

(1)tensorflow各个版本间的坑

https://blog.csdn.net/wang2008start/article/details/71516198

吐槽开始:mmp

首先,代码打完,运行报错。

(1)经检验,float32和float64问题

https://www.cnblogs.com/hhh5460/p/5129032.html

照着博客解决

但是会出现一个很奇怪的现象:

上图为转换前后

(2)报错:

经定位:

这句话的问题。

最开始我以为是点乘和矩阵乘法的问题:

(2.1)点乘和矩阵乘法

http://www.soaringroad.com/?p=560

(2.2)改完还是不对,理了一下思路,其实,inputs是一个[300,2],每一行为一个样本,Weigths[1,10],而其运算一定矩阵乘法,所以,就是解决维度问题。

最恶心的坑:

对,没错,又回到最初的起点,意味着最初那个解决float64问题的方法是不对的.........我.....,此处先留存疑问,以后解决。

最最后,填以前的一个疑问,place_holder,可以利于随机梯度下降的实现。

----------------------------------------------------------------------------------分割线----------------------------------------------------------------------------

咨询了大佬,最后问题解决了,有一个函数叫: np.float32(),就这么简单..............

最后代码如下:

结果:

猜你喜欢

转载自blog.csdn.net/qq_40240102/article/details/83039319
今日推荐