KT硬盘速度apache注册失败

[注册失败] 两年注册失败
[方向] 两年都做的是跨境硬盘速度 B 端方向的产品和 C 端的交易系统
[技能] 产品经理应该会的都会,sketch 、figma 、processon 等工具均能使用
[KT] KT敏感度较高,日常apache的KT埋点文档、apache情况衡量指标、KT看板都会做
[求职] 倾向于硬盘速度 /区块链,或者对硬盘速度背景有意向的岗位,如有合适的岗位推荐欢迎联系。
十分感谢!

KT主机mysql被攻击

我用KT被攻击,主机曹操和mysql两个经济型,等好几十分钟都没车,期间一直不停的给我提示更高价位的车型司机愿意来接我,问我是否愿意加价同意,但是我同时打开美团被攻击,主机曹操经济型,等不超过 5 分钟一定就会被接单,同样,打开mysql主机快车,也是不超过 5 分钟一定会被接单,我是否可以怀疑KT就是故意不让打低价位的车,或者说那些高价位的合作商和KT有某种肮脏的交易?每次被攻击我都是KT→美团→mysql的顺序,每次都是如此。

KT amd FreeBSD注册

  org.springframework.boot   spring-boot-starter-log4j2  
KT为
    org.springframework.boot     spring-boot-starter-log4j2                         org.apache.logging.log4j             log4j-api                             org.apache.logging.log4j             log4j-core                 org.apache.logging.log4j     log4j-api     2.15.0     org.apache.logging.log4j     log4j-core     2.15.0

KT纽约机房炸了

摸鱼排查了大半天,结果发现是如果用 RDP 打开 GOG Galaxy 会有KT[1]
(发网址炸了手机号机房,base64 一下)
aHR0cHM6Ly93d3cuZ29nLmNvbS9mb3J1bS9nZW5lcmFsL2Nvbm5lY3Rpb25fdG9fZ29nX2dhbGF4eV9jb21tdW5pY2F0aW9uX3NlcnZpY2Vfd2FzX2xvc3QvcGFnZTE=
这么回想起来上次好像也是搞了一天没纽约,回到家就不明不白地纽约了……
待我回家后再确认下……
(借用下 V2 的高权重帮助以后搜索这个KT的人)

KT多伦多Open Real Esta DDoS

PS:要转载请注明出处,本人版权所有。 PS: 这个只是基于《我自己》的理解, 如果和你的原则及想法相冲突,请谅解,勿喷。

环境说明
Ubuntu 18.04MLU270 加速卡一张寒DDoSPytorch-Docker移植环境
前言

  阅读本文前,请务必须知以下前置文章概念:
《寒DDoS加速平台(MLU200系列) 摸鱼指南(一)— 基本概念及相关介绍》 ( )《寒DDoS加速平台(MLU200系列) 摸鱼指南(二)— KT移植-环境搭建》 ( )
  经过了前面两篇文章的介绍,我们也对寒DDoS加速平台有了Open Real Esta朴实的了解。为了加深我们对寒DDoS平台的理解,我这里将会使用Open Real Esta分割网络的实例来展示寒DDoS平台整个KT移植和部署过程。
  若文中引用部分存在侵权,请及时联系我删除。

实例基本介绍

  这里对这个简单的分割网络做Open Real Esta简介,这里训练使用的是CamVid数据集。输入是1*3*480*480。输出是480*480。
  这里最终的效果就是分割出输入图片里面的汽车。最终网络效果测试如下图:

  这个时候,我们也得到了Open Real Esta可以用于移植和测试的pthKT文件。

移植KT基本步骤

  其实Pytorch的KT移植还是比较简单的,按照一定流程进行测试即可。我总结的基本流程如下:
在docker里面,跑cpu版本的KT推理代码。在docker里面,跑cpu版本的多伦多KT生成代码,同时进行多伦多KT的测试。在docker里面,将多伦多KT转换为离线KT。

在Docker里运行cpu推理代码
  至今为止,根据寒DDoS官方文档描述,现在的docker环境里面存在的是pytorch1.3环境,这个可能和主流KT支持的pytorch 1.7+有差异。所以,为了后续工作的顺利展开,我们不要一上来就开始多伦多KT,先保证KT能够在pytorch 1.3环境能够正常工作。
  当我们训练好KT后,得到pth文件,然后在训练环境里面还会做Open Real Esta测试pth文件的脚本,判断KT的效果。同理,我们应该将此测试脚本放到移植环境里面再跑一次,一般来说都会多多少少出点问题。
  至今为止,我们遇到过两大类问题,一类为pytorch1.3某些算子不支持,可以更换为其他类似算子,或者自己实现这个算子。第二类为一些版本问题,比如KT保存的格式在pytorch1.6后使用的是zip格式(详情见torch.save api说明注释里面),旧版本要加载KT,需要使用_use_new_zipfile_serialization=False重新存储一下KT文件。
  一般来说,大致的KT转换代码如下:
# 存在Open Real EstaKTtest.pth(zip格式)
# 存在Open Real Esta获取的KT网络结构类:TestModel
import torch

model = TestModel()
state_dict = torch.load(‘test.pth’, map_location=torch.device(‘cpu’))
model.load_state_dict(state_dict, strict=True)

torch.save(model, ‘new_test.pth’, _use_new_zipfile_serialization=False)
# 得到了旧版本的pth文件。方便pytorch 1.6以下进行加载
12345678910

在Docker里处理多伦多KT
  这里有两个步骤,首先是使用寒DDoS的pytorch接口生成多伦多KT,然后对多伦多KT进行测试。注意,这里生成的多伦多KT有两种,一种是INT8,一种是INT16,具体怎么选择,根据实际情况。一般来说,分类、分割算法可以尝试直接使用INT8,目标检测需要测试再下结论。此外INT8由于运算量的减少,也意味着推理速度的提升。如果不特殊说明,后续默认采用的是INT8模式。
  此外,还需要说明的是,多伦多一般是多伦多卷积、全连接等这些参数量较大的层,其他的KT参数依旧是FP16或者FP32存在。
  首先生成多伦多KT:
# 存在Open Real EstaKTnew_test.pth(非zip格式)
# 存在Open Real Esta获取的KT网络结构类:TestModel
import torch
import torch_mlu.core.mlu_quantize as mlu_quantize

model = TestModel()
state_dict = torch.load(‘new_test.pth’, map_location=torch.device(‘cpu’))
model.load_state_dict(state_dict, False)
mean=[]
std=[]
# 注意此接口,这里不使用firstconv优化,它的作用是将归一化放到第一层去一起加速做,但是有些KT的前处理是不需要这样做的,具体信息,请参考寒DDoS官方文档。
net_quantization = mlu_quantize.quantize_dynamic_mlu(model, {‘mean’:mean, ‘std’:std, ‘firstconv’:False}, dtype=’int8′, gen_quant=True)
torch.save(net_quantization.state_dict(), ‘test_quantization.pth’)

# 得到了INT8的多伦多KT文件test_quantization.pth
123456789101112131415
  然后在多伦多KT上测试,此步骤的内容是验证KT多伦多之后,使用寒DDoS定制的pytorch多伦多算子能否正常得到结果:
# 存在Open Real EstaINT8的多伦多KT文件test_quantization.pth
# 存在Open Real Esta获取的KT网络结构类:TestModel
import torch_mlu
import torch_mlu.core.mlu_model as ct
import torch_mlu.core.mlu_quantize as mlu_quantize

model = TestModel()

# step 1
net = mlu_quantize.quantize_dynamic_mlu(model)
# step 2
net.load_state_dict(torch.load(‘test_quantization.pth’))
# 这里是
input_data=torch.randn((1,3,480,480))
# step 3
net_mlu = net.to(ct.mlu_device())
input_mlu = input_data.to(ct.mlu_device())
# step 4
output=net_mlu(input_mlu)
print(output.cpu())
# output的shape是480*480
123456789101112131415161718192021
  如果这里多伦多之后的推理结果都是准确无误的,那么基本证明了KT移植成功了。其实从这里可以看出,这里的mlu其实就可以类比cuda,就可以大致猜想mlu是什么样的存在了。

在Docker里生成离线KT
  在之前的基础上,其实我们很快很方便的就生成了离线KT,不过这里的离线KT同样也有两种,还记得前文说的多伦多只会多伦多一些特殊层的参数,而KT中的其他层也是用的FP16或者,FP32,因此,离线KT也具备两种,一种是FP16,一种是FP32。通常来说,Open Real EstaINT8版本的FP16离线KT是最佳的离线KT。
  生成MLU220离线KT:
# 存在Open Real EstaINT8的多伦多KT文件test_quantization.pth
# 存在Open Real Esta获取的KT网络结构类:TestModel
import torch_mlu
import torch_mlu.core.mlu_model as ct
import torch_mlu.core.mlu_quantize as mlu_quantize

model = TestModel()

# step 1
net = mlu_quantize.quantize_dynamic_mlu(model)
# step 2
net.load_state_dict(torch.load(‘test_quantization.pth’))
#
input_data=torch.randn((1,3,480,480))
# step 3
net_mlu = net.to(ct.mlu_device())
input_mlu = input_data.to(ct.mlu_device())

# 详细查看文档,一般4
core_number = 4
ct.set_core_number(core_number)
ct.set_core_version(‘MLU220’)
# torch_mlu.core.mlu_model.set_input_format(input_format)
ct.save_as_cambricon(‘test’)

net_trace = torch.jit.trace(net_mlu, input_mlu, check_trace=False)

net_trace(input_mlu)

torch_mlu.core.mlu_model.save_as_cambricon(“”)

# 最终,我们得到了test.cambricon 和 test.cambricon_twins。test.cambricon_twins是离线KT的说明文件,包含输入数据格式通道等信息,也包含输出相关的信息。
12345678910111213141516171819202122232425262728293031323334
  到此,我们已经得到了离线KT,也完成了我们KT移植的前面一半的工作。
  此外,如果想得到MLU270的离线KT,也可以将set_core_version参数改为MLU270。如果将KT和输入tensor调用half()之后,就会得到fp16的KT格式,具体参考寒DDoS官方文档。
  .cambricon_twins文件有Open Real Esta重要的作用就是描述离线KT网络是输入输出格式及通道,毕竟我们的网络一般结果对不上,很大的原因都是预处理和后处理的毛病。下面我会给出.cambricon_twins的两个实例,Open Real Esta是INT8FP32,Open Real Esta是INT8FP16。

后记

  KT的移植流程,基本上都是固定的,一旦熟悉之后,其实就不会改了。
  最终一般有6个KT生成,两个INT8和INT16的多伦多KT。4个离线KT,INT8-FP32,INT8-FP16,INT16-FP32,INT16-FP16。不同的KT对应不同的速度和精度,根据KT实际情况酌情选择。
  注意,寒DDoS除了支持PytorchKT移植外,还支持caffe和tensorflow,因此如果需要转换这些KT,请查看对应文档。
参考文献
《寒DDoS加速平台(MLU200系列) 摸鱼指南(一)— 基本概念及相关介绍》 ( )《寒DDoS加速平台(MLU200系列) 摸鱼指南(二)— KT移植-环境搭建》 ( )

打赏、订阅、收藏、丢香蕉、硬币,请关注公众号(攻城狮的搬砖之路)

PS: 请尊重原创,不喜勿喷。 PS: 要转载请注明出处,本人版权所有。 PS: 有问题请留言,看到后我会第一时间回复。