inter

Qt5.12获取本机IP地址

老子叫甜甜 提交于 2019-12-15 01:03:14
最近在写有关Qt网络通信方面,下面是一个小模块,获取主机的IP地址。 QString get_local_ip ( ) { QHostInfo info = QHostInfo :: fromName ( QHostInfo :: localHostName ( ) ) ; // 找出一个IPv4地址即返回 foreach ( QHostAddress address , info . addresses ( ) ) { if ( address . protocol ( ) == QAbstractSocket :: IPv4Protocol ) { return address . toString ( ) ; } } return "0.0.0.0" ; } 首先获取本机所有IP地址信息,包括环回地址如127.0.0.1,以及本机地址如192.168.1.x等等,有安装虚拟机的还有其他地址等等。 /** * @brief 检测当前网卡是否是虚拟网卡(VMware/VirtualBox)或回环网卡 * @param str_card_name 网卡的描述信息 * @return 如果是虚拟网卡或回环网卡,返回true, 否则返回false */ bool is_virtual_network_card_or_loopback ( QString str_card_name )

【YOLO-V1】You Only Look Once: Unified, Real-Time Object Detection

天涯浪子 提交于 2019-12-10 09:34:38
You Only Look Once: Unified, Real-Time Object Detection 您只看一次:统一的实时对象检测 前言 近几年来,目标检测算法取得了很大的突破。比较流行的算法可以分为两类,一类是基于Region Proposal的R-CNN系算法(R-CNN,Fast R-CNN, Faster R-CNN),他们是two-stage的,需要先使用启发式方法(selective search)或者CNN网络(RPN)产生Region Proposal,然后再在Region proposal上做分类与回归。而另一类是Yolo,SSD这类one-stage算法,其仅仅使用一个CNN网络直接预测不同目标的类别与位置。第一类方法是准确率高一些,但是速度慢,但是第二类算法是速度快,但是准确率要低一些。这里我们谈的是Yolo-v1版本算法,其性能是差于后来的SSD算法的,但是Yolo后来也继续进行改进,产生了Yolo9000算法。本文主要讲述Yolo-v1算法的原理,特别是算法的训练与预测中详细细节,最后将给出如何使用TensorFlow实现Yolo算法。 滑动窗口与CNN 在介绍Yolo算法之前,首先先介绍一下滑动窗口技术,这对我们理解Yolo算法是有帮助的。采用滑动窗口的目标检测算法思路非常简单,它将检测问题转化为了图像分类问题

基于pytorch计算IoU

故事扮演 提交于 2019-12-10 02:46:51
IoU 是目标检测里面的一个基本的环节,这里看到别人的代码,感觉还是挺高效的,就记录一下: torch.Tensor.expand torch.Tensor.expand(*sizes) → Tensor 这是一个pytorch的函数,sizes是你想要扩展后的shape,其中原来tensor大小为1的维度可以扩展成任意值,并且这个操作不会分配新的内存。 栗子: >> > x = torch . tensor ( [ [ 1 ] , [ 2 ] , [ 3 ] ] ) >> > x . size ( ) torch . Size ( [ 3 , 1 ] ) >> > x . expand ( 3 , 4 ) tensor ( [ [ 1 , 1 , 1 , 1 ] , [ 2 , 2 , 2 , 2 ] , [ 3 , 3 , 3 , 3 ] ] ) >> > x . expand ( - 1 , 4 ) # -1 means not changing the size of that dimension tensor ( [ [ 1 , 1 , 1 , 1 ] , [ 2 , 2 , 2 , 2 ] , [ 3 , 3 , 3 , 3 ] ] ) torch.unsqueeze() torch.unsqueeze(input, dim, out=None) → Tensor

ABAP学习(14):ABAP面向对象

一曲冷凌霜 提交于 2019-12-06 10:52:33
ABAP面向对象 1、类的定义与实现 类定义: 语法:Class <类名> definition. Public section. Methods:<方法名> Importing <参数名> type <参数类型> Exporting <参数名> type <参数类型>. Endclass. 类实现: 语法:Class <类名> implementation. Public section. Method <方法名>. 实现具体代码块. Endmethod. Endclass. 2、抽象类 抽象类定义,抽象方法定义,使用Abstract关键字。 示例: "抽象类定义 "抽象类可以包含静态成员 class-data ,class-methods,class-events "抽象类可以包含非抽象方法 "抽象类可以不定义任何方法 "抽象类 不可以create object 创建实例,但是可以用create object type ref to 创建抽象类引用,并接受子类实例 CLASS base_class DEFINITION ABSTRACT. "抽象类 关键子abstract,基类 PUBLIC SECTION. METHODS:message ABSTRACT "抽象方法 IMPORTING msg TYPE String OPTIONAL. METHODS:sayHello

04-自定义序列类

坚强是说给别人听的谎言 提交于 2019-12-06 10:27:37
一、自定义序列类 1.1、python中的序列分类   什么叫做序列类?序列是 python 中重要的一个协议, python 是基于协议来编程的。序列就是 python 中特别重要的一个协议。接下来先认识 python 的序列分类 容器序列: list tuple deque #(双端队列) my_list = [] my_list.append(1) my_list.append("q") #向容器里面添加任意数据不会报错 容器序列和扁平序列的 区别 :容器序列可以放置任意数据,扁平序列是不一样的,它是属于序列类型的,序列的特性就是可以利用 for 循环进行遍历 扁平序列: str bytes bytearray array.array 可变序列: list deque bytearray array 不可变序列: str tuple bytes 一旦创建这个对象就是不能够改变的。 1.2、python中序列类型的abc继承关系 #容器相关的一些数据结构它的抽象基类都是放在abc中的 from collections import abc #ctrl+鼠标左键进去可以看见 """ 进到里面可以看见定义了collections相关的抽象基类 Sequence就是不可变序列的方法集合的抽象基类,MutableSequence是集合了可变序列的方法和协议的抽象基类。 序列相关的是:

acl的基础知识以及工作原理配置

吃可爱长大的小学妹 提交于 2019-12-06 10:07:02
实验名称:acl基础配置 -作用: 匹配感兴趣的流量。 实验拓扑: 实验要求:pc1能ping通所有网络,其余网络都不同 实验目的:熟悉acl的应用 实验步骤: 第一:先使所有网络都能相互ping通 sw1 <Huawei>undo terminal monitor Info: Current terminal monitor is off. <Huawei>sys Enter system view, return user view with Ctrl+Z. [Huawei]vlan batch 10 20 50 Info: This operation may take a few seconds. Please wait for a moment...done. [Huawei]inter Ethernet0/0/1 [Huawei-Ethernet0/0/1]undo shutdown [Huawei-Ethernet0/0/1]port link-type access [Huawei-Ethernet0/0/1]port default vlan 10 [Huawei-Ethernet0/0/1]inter eth0/0/2 [Huawei-Ethernet0/0/2]undo shutdown Info: Interface Ethernet0/0/2 is not

某企业交换网络综合配置

痞子三分冷 提交于 2019-12-06 03:30:01
1、项目背景 某企业在不断发展,业务量也在不断扩大,同时对计算机网络应用的依赖程度与日俱增 为适应互联网时代的发展,目前公司正面临转型,急需成立IT部门.你作为几年前入职的网络工程师被任命为IT部门的技术经理,并担任本次网络规划的项目经理.你需要根据企业网络需要优化现有网络资源。 假设某企业有员工1000人,有销售部(300人),技术部(100人),财务部(50人),综合部(50人),研发部(500人);各部门相互隔离,完成所有网络的互联互通。 2、项目需求 公司项目经理已经按照上述要求对网络设备进行了相应的地址规划.要求先对网络设备进行配置使之可以实现互连互通,具体要求如下: l 按照拓扑图完成IP地址规划表的规划; l 配置网络设备的接口IP地址; l 给交换机接口配置正确的接口模式(如access、trunk等) l 配置链路聚合; l 配置生成树协议; l 配置Vlan间路由; 3、项目拓扑 4、项目网络地址规划 设备名称 接口 IP 地址 子网掩码 描述 PC1 Ethernet0/0/1 10.36.50.1 /16 研发部vlan50 PC2 Ethernet0/0/1 10.36.10.1 /16 销售部vlan10 PC3 Ethernet0/0/1 10.36.20.1 /24 技术部vlan20 PC4 Ethernet0/0/1 10.36.50.2 /16

公网IP地址

独自空忆成欢 提交于 2019-12-05 20:43:12
公有地址分配和管理由Inter NIC(Internet Network Information Center 因特网信息中心)负责。各级ISP使用的公网地址都需要向Inter NIC提出申请,有Inter NIC统一发放,这样就能确保地址块不冲突。 来源: https://www.cnblogs.com/zlnb/p/11946176.html

go中的数据结构接口-interface

a 夏天 提交于 2019-12-04 20:52:08
1. 接口的基本使用   golang中的interface本身也是一种类型,它代表的是一个方法的集合。任何类型只要实现了接口中声明的所有方法,那么该类就实现了该接口。与其他语言不同,golang并不需要显式声明类型实现了某个接口,而是由编译器和runtime进行检查。 声明 1 type 接口名 interface{ 2 方法1 3 方法2 4 ... 5 方法n 6 } 7 type 接口名 interface { 8 已声明接口名1 9 ... 10 已声明接口名n 11 } 12 type iface interface{ 13 tab *itab 14 data unsafe.Pointer 15 }   接口自身也是一种结构类型,只是编译器对其做了很多限制: 不能有字段 不能定义自己的方法 只能声明方法,不能实现 可嵌入其他接口类型 1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 // 定义一个接口 8 type People interface { 9 ReturnName() string 10 } 11 12 // 定义一个结构体 13 type Student struct { 14 Name string 15 } 16 17 // 定义结构体的一个方法。 18 // 突然发现这个方法同接口People的所有方法(就一个

交换机应用之端口模式(access、trunk和hybird)、是否标记(tag、untag)、端口缺省vlan(pvid、native id)

别来无恙 提交于 2019-12-04 00:24:59
一、概述 打不打标记Tag,untag以及交换机的各种端口模式是网络工程技术人员调试交换机时接触最多的概念了。标记tag就是指VLAN的标签,数据包属于哪个VLAN的。 交换机三种端口模式Access vlan、Trunk vlan和Hybrid vlan三种,即以太网端口有三种链路类型:Access、Hybrid和Trunk。在Trunk和Hybird模式下,存在端口缺省vlan的概念(pvid、native vlan id)。 二、打不打标记(Tag,untag) tag是指vlan的标签,即vlan的id,用于指名数据包属于那个vlan,untag指数据包不属于任何vlan,没有vlan标记。 untag就是普通的ethernet报文 ,普通PC机的网卡是可以识别这样的报文进行通讯; tag报文 结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;一般来说这样的报文普通PC机的网卡是不能识别的。 下面说了 802.1Q封装tag报文帧结构 ISL Trunk上所有的包都是tag的( Cisco 专用); 802.1Q 设计的时候为了兼容与不支持VLAN的交换机混合部署 ,特地设计成可以不tag:但是只有一个VLAN允许不tag,这样N个VLAN,(N-1)个都tag了,不tag的包一定是来自那个特殊VLAN的