2024¶
C++如何实现FP16(IEEE754-2008)类型?
计算机在进行数值计算时,首先需要对数据进行表示,比如F32、F16、F64、int32、int16、int8等等。特别在深度学习中,如果模型的参数是F32类型,那么计算耗时且保存的参数占用内存大。
为了准确率同时保证计算的速度,一般需要把模型转换成F16类型。F16即是通过16个bit(位)表示浮点数类型。
我们一起看一下:
- IEEE754-2008如何定义Float32和Float16的?
- float32和float16如何转换?在C++23版本以下标准库是没有f16类型的。
- Float16不用转换成float32比较,如何直接比较大小?
自己动手写一个proxychains代理工具(一)
想要自己动手写一个proxychains代理工具,首先要明白它的原理和如何实现的,一起来看一下。
proxychains工具实现原理
相信很多朋友都听过或者使用过proxychains工具,它是一个终端代理工具,支持HTTP proxy、Socks5、Socks4协议,同时还分为Strict、Dynamic、Random三种模式。关于它的用法可以参考之前的文章,Squid搭建HTTP代理服务器。
以linux平台为例,这里的核心技术点:
自己动手写一个proxychains代理工具(二)
上一篇学习了proxychains工具实现原理,包括HTTP代理链是如何建立的呢,接下来我们继续聊聊。
proxychains代理的建立过程
proxychains的几种代理模式你清楚吗?
proxychains
通过代理服务器链路来转发网络连接的工具。它支持多种代理链模式,。包括 DYNAMIC_TYPE
、STRICT_TYPE
和 RANDOM_TYPE
每种模式在代理选择和使用策略上有所不同。