TessorFlow学习 之 序言
2017.10.23日记录:
感觉平时自己学的还不错的,可是面试的时候才发现自己是个渣渣~~,真的感觉学习不能闭门造车!
面试了图像处理算法工程师-->>
1.精通哪门语言?C、C++、Py ?你会C++是吧?那你说static变量在什么时候被分配内存的?懵逼的干活。。。
2.你会图像处理?那你用什么进行程序优化的?用几个线程对程序进行控制的?能写出来算法就不错了。。。
3.你会深度学习吗?不会?现在不用深度学习做图像的貌似很少吧?
4.三维重建、视频处理你会吗?GGG。。。
总结: A.opencv会了只代表你是机械学生会了CAD。貌似这个大家都懂!
B.可以利用opencv处理一些图像,或者自己加一点算法,只代表你会CAD画一些工程图。貌似这个出去要么找不到工作,要么就是一个绘图员!
C.会三维重建,相当于机械会了UG、SW、ProE、CT,就是实体化一些东西给人感觉好多了。
D.会深度学习,相当于机械会了造东西,这个时候我们可以做一些东西,比如:人脸识别系统、指纹识别。。。
F.会优化程序,相当于会改进别人做的东西,就是模仿改造了,公司喜欢这样的人。
G.会把理论变成现实,就是看别人论文用程序实现,这个了不得接私活完全成为大Boss了。
H.自己创造算法,貌似只有数学系或者博士等的研究者吧?
个人发展:
第三步进行中。。。。。。
TessorFlow初探:
图像处理用C++,深度学习用Python,至于以后QT的开发以后再说。
安装不用说了--->>>
来个小例子,当时我花了一个多星期弄懂原理和编写程序,现在几分钟:
import tensorflow as tf
import numpy as np if __name__ == '__main__':
# 创建训练数据
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.5 + 0.1
# 随机产生一个W,B的值
Weights = tf.Variable(tf.random_uniform([1], -10, 10))
Baises = tf.Variable(tf.random_uniform([1], -10, 10)) y = Weights * x_data + Baises
#创建TF训练模型结构
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
init = tf.initialize_all_variables()
#初始化运行
sess = tf.Session()
sess.run(init)
#实时查看
for step in range(201):
sess.run(train)
if step%20 ==0:
print(step,sess.run(Weights),sess.run(Baises))
训练一个y=kx+b的模型,K、B参数不断进行梯度更新,目标:k = 0.5, b = 0.1
看着训练的结果,实在是太棒了,但是我现在还不了解具体什么意思。。。后面继续努力学习

TF结构分析
刚拿到TF,买了两本书(网上最火的两本,你懂得),看了几个小时完全不懂,看了莫凡大神的代码之后感觉恍然大悟,程序员你不上代码光看书,逗我呢?
TF--->>>Session
简单理解,一个执行的函数,相当于单片机上面的led.init()、Tick.init()....就是你程序写好之后,TF是不运行的,必须进过Session去运行才可以!
例一:
import tensorflow as tf
import numpy as np if __name__ == '__main__':
matrax1 = tf.constant([[1,2,3]])#相当于np.array(),建立一行三列数据
matrax2 = tf.constant([[1],[2],[3]])
project = tf.matmul(matrax1,matrax2)#相乘
sess = tf.Session()#建立一个Session
result = sess.run(project)#用Session去运行matmul乘法
print(result)
sess.close()
例二:
import tensorflow as tf
import numpy as np if __name__ == '__main__':
matrax1 = tf.constant([[1,2,3]])#相当于np.array(),建立一行三列数据
matrax2 = tf.constant([[1],[2],[3]])
project = tf.matmul(matrax1,matrax2)#相乘 with tf.Session() as sess:#相当于 sess = tf.Session(),读取结束之后自动关闭==sess.close()
print(sess.run(project))
TF--->>>Variable
变量,可以更新的数,相当于一个字典(比字典强大),使用的时候得初始化
import tensorflow as tf
import numpy as np if __name__ == '__main__': state = tf.Variable(0,name="count") #定义一个变量值为0,名字是count,相当于字典
ones = tf.constant(1) #常量const
new_value = tf.add(state,ones) #相加
up_data = tf.assign(state,new_value) #更新state,不是C语言的指针不能直接更新,相当于等于号
init = tf.global_variables_initializer() #只要有Variable变量,就需要初始化
with tf.Session() as sess:
sess.run(init)
for _ in range(3):
print(sess.run(up_data))

TF--->>>placeholder
可以输入的变量,相当于getchar()
Tensorflow 如果想要从外部传入data, 那就需要用到 tf.placeholder(), 然后以这种形式传输数据 sess.run(***, feed_dict={input: **}).
import tensorflow as tf
import numpy as np if __name__ == '__main__': input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.multiply(input1,input2)
with tf.Session() as sess:
print(sess.run(output,feed_dict={input1:[7.],input2:[10.]}))
参考莫凡大大的网站:https://morvanzhou.github.io/
TessorFlow学习 之 序言的更多相关文章
- PHP-Manual的学习----【序言】
2017年6月27日16:57:32 学习资料:2015-PHP-Manual 打好坚实的基础是做任何事的前提 序言: 笔记: 1.PHP,即"PHP: Hypertext Preproce ...
- STL学习笔记序言
笔者作为计算机科学与技术专业的学生,学习并使用C++已经有3年了.在接触STL之前的编程习惯是,所有程序的功能包括数据结构.算法等都是亲自实现,效率极其缓慢.后来从使用STL的vector开始慢慢的感 ...
- STM32学习笔记——序言
写AVR已经两年了.如果初中时候玩Arduino也算的话,就是6年. 两年以来,我用AVR单片机完成了两个大项目: AVR单片机教程,一时兴起写的,效果不好: MEDS,参赛用的课题,半完成,比赛都结 ...
- TessorFlow学习 之 手写数字识别的搭建
手写数字识别的搭建
- TessorFlow学习 之 神经网络的构建
1.建立一个神经网络添加层 输入值.输入的大小.输出的大小和激励函数 学过神经网络的人看下面这个图就明白了,不懂的去看看我的另一篇博客 def add_layer(inputs , in_size , ...
- openswan协商流程之(五):main_inR2_outI3()
主模式第五包:main_inR2_outI3 文章目录 主模式第五包:main_inR2_outI3 1. 序言 2.函数调用关系 3. 第五个报文流程图 4. main_inR2_outI3()源码 ...
- TDD学习笔记【一】----序言
提到TDD大多数程序员的疑问: 为什么我要写两份程序? 为什么我要写程序来验证我已经知道的结果? 我又不是SA,可能也不懂domain,怎么产生一开始的test case? 最后的感想就变成是: 1. ...
- 《通过刷leetcode学习Go语言》之(1):序言
Author : Email : vip_13031075266@163.com Date : 2021.03.07 Version : 北京 C ...
- ngx-push-stream模块源码学习(一)——序言
一.概述 与传统的request-response的web应用模式不同,comet是一种长连接(long-held)的应用模式,从而允许服务端主动向客户端推送数据. 主流的comet技 ...
随机推荐
- 9、后记:公司管理经验总结 - CEO之公司管理经验谈
在前期的公司管理经验谈中,笔者已经将相关考虑到的公司经营的问题做了一些思考和总结,希望能够对广大的想自己创业的IT从业者们提供参考. 这里提供一个连接,能够对广大的初期创业者们有个开公司流程的帮助:h ...
- JQuery 240中插件
http://www.cnblogs.com/Terrylee/archive/2007/12/09/the-ultimate-jquery-plugin-list.html
- linux 添加用户并赋予root权限
1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户#passwd tommy //修改密码Changing pass ...
- SDI视频采集过程
SDI视频采集过程 GTP收发模块为视频采集系统的核心部分,包含发送和接收,完成对信号的解串和串码.并且HD-SDI信号中并非所有的信号都是有效视频信号,这部分功能由数据分析模块实现,并将提取出来的有 ...
- 为IE内核的WebBrowser控件内存泄漏所烦恼的可以考虑用Cefsharp代替它!
为IE内核的WebBrowser控件内存泄漏所烦恼的朋友们,可以考虑用Cefsharp代替WebBrowser控件 特意做了一个程序来测试 利用Cefsharp做控件,访问网站.每分钟刷新2次,初始时 ...
- 当弹出的div失去焦点的时候自动隐藏
jquery: $("#button").click(function(event){ $("#box").show(); event.stopPropagat ...
- Java序列化的理解与学习
1.什么是Java序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比 JVM的生命周期更长.但在现实应 ...
- Java HashMap的死循环 以及 LRUCache的正确实现
今天RP爆发,16核服务器load飙到30多,cpu使用情况全部99%以上. 从jstack中分析发现全部线程都堵在map.transfer处,如下: "pool-10-thread-23& ...
- Ajax传参讲解
客户端和服务器 1.请求:request 2.响应:response 服务器响应事件:onreadystatechange() send() 用于向后台传递参数: Ajax的请求方式 get: ...
- 让可等待的计时器添加APC调用
// TimerAPCRoutine.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <windows.h> ...