detect.py 中的一些小的知识点

这篇博客探讨了在PyTorch和NumPy中的一些实用技巧。`model.eval()`用于将模型切换到评估模式,确保在测试时dropout和batch normalization正确工作。`numpy.unique()`和`torch.unique()`都是用来去除数组中的重复元素。此外,还介绍了如何使用`random`模块生成随机数,`np.random`生成更复杂的随机数分布,以及在matplotlib中利用`patches.Rectangle`绘制矩形和调整图像轴的显示方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. model.eval() # 设置为评估模式

让 model 变成测试模式,这主要是对dropout和batch normalization的操作在训练和测试的时候是不一样的

2. numpy 中的 unique() # 去重复元素 np.unique(A)

程序如下:

A_list = [1, 2, 2, 5,3, 4, 3]
A_set = (1, 2, 2,5, 3, 4, 3)
B_list= ['fgfh','asd','fgfh','asdfds','wrh']

print("++++++++++++ 去重复")
print(np.unique(A_list))
print(np.unique(A_set))
print(np.unique(B_list))

print("++++++++++++ 去重复,返回新列表元素在旧列表中的位置")
print(np.unique(A_list, return_index=True))
print(np.unique(A_set, return_index=True))
print(np.unique(B_list, return_index=True))

print("++++++++++++ 去重复,返回新列表元素在旧列表中的位置, 返回旧列表元素在新列表中的位置")
print(np.unique(A_list, return_index=True, return_inverse=True))
print(np.unique(A_set, return_index=True, return_inverse=True))
print(np.unique(B_list, return_index=True, return_inverse=True))

显示结果如下:

++++++++++++ 去重复
[1 2 3 4 5]
[1 2 3 4 5]
['asd' 'asdfds' 'fgfh' 'wrh']
++++++++++++ 去重复,返回新列表元素在旧列表中的位置
(array([1, 2, 3, 4, 5]), array([0, 1, 4, 5, 3]))
(array([1, 2, 3, 4, 5]), array([0, 1, 4, 5, 3]))
(array(['asd', 'asdfds', 'fgfh', 'wrh'], dtype='<U6'), array([1, 3, 0,<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值