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

一 文件结构

    并不是自己下载的代码,老师给的,看到readme.md猜测可能时github上下载的。先理一下这个文件结构,最_pycache_文件有什么用(https://blog.csdn.net/index20001/article/details/73501375/ ),解决了自己一半的疑惑,作用类似于他的名字cache,减少工程运行时间。但是,他的产生情况和文中不符,此处不再细究。

    后缀.py的肯定一目了然,根据文件名猜测是不同算法的实现。下面那些莫名其妙的后缀名,参考:https://zhidao.baidu.com/question/487001230.html,就是一个老外标记好的minist数据。(很好奇为什么这么少)

二 边学tensorflow边看代码

(1)了解一下 tensorflow

https://blog.csdn.net/lhh08hasee/article/details/80546919(csdn,深度学习学习资源的博客)

(2)上面视频收费......所以

https://blog.csdn.net/qq_30102545/article/details/80502373

主要想系统看下tensorflow,看官网教程感觉会很慢,看个视频入门先(个人感觉,看了一些机器学习基础知识的教程,发现还是先会用,再回过头来看基础比较好,因为基础是在太多了,看前面,忘后面)

三 视频笔记()

(1)tensorflow简介

a.  作者:google  作用:方便入门深度学习

b. 安装 windows/ubuntu+cpu+python3.5上的tensorflow

c.第三小节:(机器学习基础)......(已知道)

  (2)tensorflow基础框架

a.  怎样处理数据的结构(通过tensorboard介绍的)

收获:tensorflow,翻译过来:向量在结构中飞。(建议视频多看两遍,接受它需要有基础)

b. 代码看结构

numpy随机数参考:https://blog.csdn.net/m0_37804518/article/details/78490709

import tensorflow as tf
import numpy as np

#creat data
x_data = np.random.rand(100).astype(np.float32) #数据转换,依据 
#tensorflow数据格式
#实际y_data,用来预测模型好坏
y_data = x_data*0.1+0.3

#print(x_data)

#creat tensorflow structure start#

#Weigtht 矩阵,大写方便识别
Weights = tf.Variable(tf.random_uniform([1],-1.0,1.0))
biases = tf.Variable(tf.zeros([1]))

y = Weights*x_data+biases    #很明显和上述式子结构一样
loss = tf.reduce_mean(tf.square(y-y_data))  #计算误差平方和

optimizer = tf.train.GradientDescentOptimizer(0.5)  #梯度下降最优控制器 
#(百度翻译),0.5为学习效率,等效于步长

train = optimizer.minimize(loss)  #用梯度下降使误差最小

init = tf.initialize_all_variables()  #上面仅仅是建立,这里初始化变量

#...............end.............#

sess = tf.Session()
sess.run(init)  #Very important

#训练神经网络

for step in range(201):
    sess.run(train)
    if step %20 ==0:
        print(step,sess.run(Weights),sess.run(biases))

运行结果:

注意:本代码为视频练习手打代码,由于md2all用的不太熟,所以可能运行会存在错误,错误原因一定是来手动排版产生了不必要空格。 

小结:第一次打tensorflow代码,感觉到了当初听公开课老师说的感受,人工智能理论是一回事,写代码是另一回事儿,但是走的远的理论一定要好。代码理解很容易,逻辑理清楚有点难,我不太清楚sess.run()的工作意味着什么,其他都是很基础的东西。

c.会话控制

tf.contast命令:https://blog.csdn.net/yjk13703623757/article/details/77075711

看了个博客,知道复制代码进去md2all产生错误的原因不是我自己的操作原因,看了一眼感觉稍微麻烦点,还不如直接截图来的爽快。代码很简单,很好理解。

d.变量

结果:

也很简单,注意标注first和second的地方就好了。

本想简单了解,突然间感觉也挺多的,看完视频再去研究下tesorflow的hello world代码。

猜你喜欢

转载自blog.csdn.net/qq_40240102/article/details/83035641