python、tensorflow、opencv小总结(二)

**

11.tf.rrandom.uniform()

**

Mat=tf.random_uniform((4, 4), minval=low,maxval=high,dtype=tf.float32)))返回4*4的矩阵,产生于low和high之间,产生的值是均匀分布的。
**

12.tf.nn.softmax ()

**
softmax函数 概率化
Tf.nn.softmax(mat,dim=0)
在这里插入图片描述

**

13.tf.global_variables_initializer()

**

(1)变量初始化
Init=tf.global_variables_initializer()
Sess=tf.Session()
Sess.run(init)

Tf.Session().run(tf.global_variables_initializer())
(2)识别未被初始化的变量
(3)变量的更新
**

14. Tf.nn.softmax_cross_entropy_with_logits 和 tf.nn.sparse_softmax_cross_entropy_with_logits()

**
tf.nn.softmax_cross_entropy_with_logits(logits, labels, name=None)

  • 第一个参数logits:就是神经网络最后一层的输出,如果有batch的话,它的大小就是[batchsize,num_classes],单样本的话,大小就是num_classes
  • 第二个参数labels:实际的标签,大小同上

import tensorflow as tf
#our NN’s output
logits=tf.constant([[1.0,2.0,3.0],[1.0,2.0,3.0],[1.0,2.0,3.0]])
#step1:do softmax
y=tf.nn.softmax(logits)
#true label
y_=tf.constant([[0.0,0.0,1.0],[0.0,0.0,1.0],[0.0,0.0,1.0]])
#step2:do cross_entropy
cross_entropy = -tf.reduce_sum(y_*tf.log(y))
#do cross_entropy just one step
cross_entropy2=tf.reduce_sum(tf.nn.softmax_cross_entropy_with_logits(logits, y_))#dont forget tf.reduce_sum()!!

with tf.Session() as sess:
softmax=sess.run(y)
c_e = sess.run(cross_entropy)
c_e2 = sess.run(cross_entropy2)
print(“step1:softmax result=”)
print(softmax)
print(“step2:cross_entropy result=”)
print(c_e)
print(“Function(softmax_cross_entropy_with_logits) result=”)
print(c_e2)

结果

step1:softmax result=
[[ 0.09003057 0.24472848 0.66524094]
[ 0.09003057 0.24472848 0.66524094]
[ 0.09003057 0.24472848 0.66524094]]
step2:cross_entropy result=
1.22282
Function(softmax_cross_entropy_with_logits) result=
1.2228


区别在于labels不同,Sparse_softmax结果不是稀疏矩阵(100)(010)(001)一般为非稀疏化
Softmax结果为稀疏矩阵(0,1,2)
**

15.

**

Tf.train.Saver保存和恢复模型
**

16.tf.one_hot()

**

tf.one_hot()函数是将input转化为one_hot类型数据输出,相当于将多个数值联合放在一起作为多个相同类型的向量,可用于表示各自的概率分布,通常用于分类任务中作为最后的FC层的输出,有时翻译为“独热”编码。
One_hot(indices,depth,on_value=none,off_value=none,axis=none,dtype=none,name=return a one_hot tesor)
**

17. import os() Os.path.join(path1,path2)

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

18. from pathlib import path

**
读文件:

from pathlib import Path
data_folder = Path(“source_data/text_files/”)
file_to_open = data_folder / “raw_data.txt”
print(file_to_open.read_text())

    from pathlib import Path
    filename = Path("source_data/text_files/raw_data.txt")
    print(filename.name)# prints "raw_data.txt"
    print(filename.suffix)# prints "txt"
    print(filename.stem)# prints "raw_data"
    if not filename.exists():
        print("Oops, file doesn't exist!")else:
        print("Yay, the file exists!")
Def load_images_from_folder(folder):
	images=[]
	names=[]
	For i in range(1,500):
	    names.append(str(i)+’.png’)
	For file in names:
	    Img=cv2.imread(os.path.join(folder,flie),0)
	    If img is not none:
	       images.append(img)
    Return images

**

19.cv2.waitKey(n)==key

**
功能是不断刷新图像,n频率时间为delay,单位为ms,那么程序将会停在显示函数处,不运行其他代码;直到键盘值为key的响应之后。
cv2.waitKey(2)==ord(’ ')#时间频率为2,空格之后执行下一个代码

**

20.tf中训练模型的保存调用

**

保存:
Saver.save(sess,’’,golbal_step=1)
导入:
Saver=tf.train.import_meta_graph(‘…/.meta’)#meta文件中定义的网络附加到当前图
Saver=restore(sess,tf.train.latest_checkpoint(‘…/’))#导入我们在这个图上训练好的模型的参数
**

21. cv2.inRange()

**
在将一副图像由RGB转换位HSV颜色框架
然后利用cv2.inRange函数设阈值,
mask = cv2.inRange(hsv, lower_red, upper_red)

  • hsv指的是原图
  • lower_red指的是图像中低于这个lower_red的值,图像值变为0
  • upper_red指的是图像中高于这个upper_red的值,图像值变为0
    而在lower_red~upper_red之间的值变成255
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值