博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ICT_TASK_1
阅读量:2348 次
发布时间:2019-05-10

本文共 2687 字,大约阅读时间需要 8 分钟。

1,安装python3.5.2

貌似是因为tensorflow只兼容windows python3.5.x版本

2,更新pip

python -m pip install --upgrade pip

3,安装tensorflowCPU版本

pip3 install --upgrade tensorflow

4,安装各种有关于Faster-RCNN的python包

pip install pandas

pip install matplotlib
pip install keras - 2.0.3
pip install numpy
pip install opencv-python
pip install sklearn
pip install h5py
等等

5,pycharm安装Git

6,有关tensorflow

使用图(graph)来表示计算任务,在被称之为会话(session)的上下文(context)中执行图,使用tensor表示数据,通过变量(variable)维护状态,使用feed和fetch可以为任意的操作(arbitrary operation)赋值或者从其中获取数据。

tensorflow是一个编程系统,使用图来表示计算任务,图中的节点被称之为op(operation),一个op获得0个或者多个tensor,然后执行计算,产生0个或多个tensor。
一个tensorflow图描述了计算的过程,为了进行计算,图必须在会话里所启动。会话将图的节点分发到CPU或者GPU之类的设备上,同时提供执行op的方法,这些方法执行后,将产生的tensor返回,在python语言中,返回的tensor是numpy ndarray对象。

import tensorflow as tf# 创建一个opmatrix1 = tf.constant([[3.,3.]])# 创建另外一个opmatrix2 = tf.constant([[2.],[2.]])# 创建一个矩阵乘法op,把matrix1和matrix2作为输入product = tf.matmul(matrix1,matrix2)# 在一个会话中启动图sess = tf.Session()result = sess.run(product)print(result)# 关闭会话sess.close()

交互式使用, 可以使用 InteractiveSession 代替 Session 类, 使用 Tensor.eval() 和 Operation.run() 方法代替 Session.run(). 这样可以避免使用一个变量来持有会话.

#进入一个交互式TensorFlow会话import tensorflow as tfsess = tf.InteractiveSession()x = tf.Variable([1.0,2.0])a = tf.constant([3.0,3.0])# 使用初始化器initializer op的run()方法初始化xx.initializer.run()# 增加一个减法opsub = tf.sub(x,a)print(sub.eval())

变量

变量维护图执行过程中的状态信息.下面的例子演示了如何使用变量实现一个简单的计数器.代码中 assign() 操作是图所描绘的表达式的一部分,更新变量, 正如 add() 操作一样. 所以在调用 run() 执行表达式之前, 它并不会真正执行赋值操作.

# 创建一个变量, 初始化为标量 0.state = tf.Variable(0, name="counter")# 创建一个 op, 其作用是使 state 增加 1one = tf.constant(1)new_value = tf.add(state, one)update = tf.assign(state, new_value)# 启动图后, 变量必须先经过`初始化` (init) op 初始化,# 首先必须增加一个`初始化` op 到图中.init_op = tf.initialize_all_variables()# 启动图, 运行 opwith tf.Session() as sess:  # 运行 'init' op  sess.run(init_op)  # 打印 'state' 的初始值  print sess.run(state)  # 运行 op, 更新 'state', 并打印 'state'  for _ in range(3):    sess.run(update)    print sess.run(state)# 输出:# 0# 1# 2# 3

Fetch

为了取回操作的输出内容, 可以在使用 Session 对象的 run() 调用 执行图时, 传入一些 tensor, 这些 tensor 会帮助你取回结果. 在之前的例子里, 我们只取回了单个节点 state, 但是你也可以取回多个 tensor:需要获取的多个 tensor 值,在 op 的一次运行中一起获得(而不是逐个去获取 tensor).

input1 = tf.constant(3.0)input2 = tf.constant(2.0)input3 = tf.constant(5.0)intermed = tf.add(input2, input3)mul = tf.mul(input1, intermed)with tf.Session():  result = sess.run([mul, intermed])  print result# 输出:# [array([ 21.], dtype=float32), array([ 7.], dtype=float32)]

CNN

CNN

在这里插入图片描述
在这里插入图片描述

7,关于Faster-RCNN(不看tensorpack版本的)

代码的Github地址:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

IOU

体检测需要定位出物体的bounding box,对于bounding box的定位精度,有一个很重要的概念,因为我们算法不可能百分百跟人工标注的数据完全匹配,因此就存在一个定位精度评价公式:IOU。

IOU定义了两个bounding box的重叠度,如下图所示:
在这里插入图片描述
矩形框A、B的一个重合度IOU计算公式为:
IOU=(A∩B)/(A∪B)
就是矩形框A、B的重叠面积占A、B并集的面积比例:
IOU=SI/(SA+SB-SI)

转载地址:http://tjtvb.baihongyu.com/

你可能感兴趣的文章
修改spring boot 启动logo
查看>>
spring boot-启动及配置文件
查看>>
HttpsURLConnection 安全传输(HTTPS--Secure Hypertext Transfer Protocol-安全超文本传输协议)...
查看>>
ASP.NET跨页面传值的技巧
查看>>
ASP.NET页面之间传递值解析
查看>>
我要学ASP.NET MVC 3.0(八): MVC 3.0 传递和保存你的Model
查看>>
我要学ASP.NET MVC 3.0(九): MVC 3.0 验证你的Model
查看>>
我要学ASP.NET MVC 3.0(十): MVC 3.0 使用 Forms身份验证
查看>>
我要学ASP.NET MVC 3.0(十一): MVC 3.0 使用筛选器
查看>>
ASP.NET MVC3、Pager 分页
查看>>
在 ASP.NET MVC 中创建自定义 HtmlHelper 控件
查看>>
MSDN---扩展方法 (C# 方法中的this参数)
查看>>
我要学ASP.NET MVC 3.0(十四): MVC 3.0 实例系列之创建数据表格
查看>>
我要学ASP.NET MVC 3.0(十五): MVC 3.0 实例系列之表格的排序
查看>>
我要学ASP.NET MVC 3.0(十七): MVC 3.0 实例之表格中数据的筛选
查看>>
Displaying a Sorted, Paged, and Filtered Grid of Data in ASP.NET MVC
查看>>
C#中的操作符
查看>>
ADO.NET Ling to Sql 语法
查看>>
ASP.NET MVC 2博客系列之一:强类型HTML辅助方法
查看>>
详解Asp.net MVC DropDownLists
查看>>