当前位置: 首页 > news >正文

做定制的网站深圳网络营销全网推广

做定制的网站,深圳网络营销全网推广,山东建设厅网站是什么,手机微网站怎么做很多时候嵌入式或者新硬件需要纯净的权重模型和激活值(运行时中间值),本文提供一种最简洁的方法。 假设已经有模型model和pt文件了,在当前目录下新建weights文件夹,运行这段代码,就可以得到模型的权重&…

很多时候嵌入式或者新硬件需要纯净的权重模型和激活值(运行时中间值),本文提供一种最简洁的方法。
假设已经有模型model和pt文件了,在当前目录下新建weights文件夹,运行这段代码,就可以得到模型的权重(文本形式和二进制形式)

model.load_state_dict(state_dict)global_index = 0
for name, param in model.named_parameters():print(name, param.size())print(param.data.numpy(),file=open(f"weights/{global_index}-{name}.txt", "w"))param.data.numpy().tofile(f"weights/{global_index}-{name}.bin")global_index += 1

对于二进制形式的文件,可以通过od -t f4 <binary file name> 查看其对应的浮点数值。f4表示fp32.

打印forward的中间值:(这么复杂是必要的)

global_index = 0
def hook_fn(module, input, output):global global_indexmodule_name = str(module)module_name=module_name.replace(" ", "")module_name=module_name.replace("\n", "")# print(name)intermediate_outputs = {}# input is a tuple, output is a tensorfor i, inp in enumerate(input):intermediate_outputs[f"{global_index}-{module_name}-input-{i}"] = inpintermediate_outputs[f"{global_index}-{module_name}-output"] = outputmodule_name = module_name[0:200]  # make sure full path <= 255print(intermediate_outputs)print(f"Size input:",end=" ")if(type(input) == tuple):for i, inp in enumerate(input):if type(inp) == torch.Tensor:print(f"{i}-th Size: {inp.size()}", end=", ")inp.numpy().tofile(f"activations/{global_index}-{module_name}-input-{i}.bin")else:print(f"{i}-th : {inp}", end=", ")elif type(input) == torch.Tensor:print(f"Size: {input.size()}")input.numpy().tofile(f"activations/{global_index}-{module_name}-input.bin")print(f"Size output: {output.size()}")global_index += 1output.numpy().tofile(f"activations/{global_index}-{module_name}-output.bin")def register_hooks(model):for name, layer in model.named_children():# print(name, layer) # dump all layers, > layers.txt# Register the hook to the current layerlayer.register_forward_hook(hook_fn)# Recursively apply the same to all submodulesregister_hooks(layer)register_hooks(model)

其中regster_hooks和以下等价(不需要recursive了)

def register_hooks(model):for name, layer in model.named_modules():# print(name, layer) # dump all layerslayer.register_forward_hook(hook_fn)

其中nn.sequential作为一个整体,目前没办法拆开来看其内部的中间值。

http://www.tj-hxxt.cn/news/12117.html

相关文章:

  • 湛江做网站苏州厂商什么是软文写作
  • 延安网站建设推广微信网站学生个人网页设计作品
  • 外贸b2c网站深圳谷歌seo推广
  • 网站后期维护保定关键词排名推广
  • 做淘宝客网站能接广告吗建站之星官网
  • 三台网站seo市场调研方案
  • 大连企业网站建设关键词广告
  • 网站开发中的paml好用的seo软件
  • 优质的外国网站怎么样做推广
  • b2b免费网站建设seo 优化 工具
  • 免费网站建设开发海南百度推广公司
  • b赣州网站建设seo公司网站推广
  • 网站静态图怎么做邯郸网站seo
  • 吉林网站建设如何设计企业网站
  • 深圳最专业的高端网站建设新浪博客
  • 网站建站公司费用如何做推广宣传
  • 首选大型网站建站公司优化落实新十条措施
  • wordpress转到手机端关键词优化计划
  • seo网站优化方百度明星人气排行榜
  • 免费搭建个人博客网站哪里有软件培训班
  • 做网站公司简介模版营销策划方案模板
  • 网站建设实习困难怎么知道网站有没有被收录
  • 做外国网站自媒体经典营销案例100例
  • 建材公司网站建设方案整合营销公司排名
  • 濮阳创建网站公司新乡seo推广
  • 个人做网站需要注意什么百度400电话
  • 如何做病毒视频网站东莞做网站公司电话
  • 网站描述关键词西安高端模板建站
  • wordpress国外博客主题企业网站的优化建议
  • 相关网站建设seo基础视频教程