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

重庆注册公司核名在哪个网站智慧校园网络建设方案

重庆注册公司核名在哪个网站,智慧校园网络建设方案,设计工作室简介,建设绿色食品网站你可能想通过一个字符串或者其他的类型来获取一个具体的服务实现#xff0c;那么在 aspnetcore 原生的 MSDI 中#xff0c;如何实现呢#xff1f;本文将介绍如何通过自定义工厂来实现。我们现在恰好有基于 Json 和 MessagePack 的两种序列化器有一个接口是这样的publicinter…你可能想通过一个字符串或者其他的类型来获取一个具体的服务实现那么在 aspnetcore 原生的 MSDI 中如何实现呢本文将介绍如何通过自定义工厂来实现。我们现在恰好有基于 Json 和 MessagePack 的两种序列化器有一个接口是这样的publicinterfaceISerializer{byte[] SerializeT(T obj);T DeserializeT(ReadOnlySpanbyte data);}并且由两个不同的实现// JsonpublicclassMyJsonSerializer : ISerializer{publicbyte[] SerializeT(T obj) {thrownew NotImplementedException(); }public T DeserializeT(ReadOnlySpanbyte data) {thrownew NotImplementedException(); }}// MessagePackpublicclassMyMessagePackSerializer : ISerializer{publicbyte[] SerializeT(T obj) {thrownew NotImplementedException(); }public T DeserializeT(ReadOnlySpanbyte data) {thrownew NotImplementedException(); }}我有一个服务需要使用这两种序列化器中的一种。publicclassMyService{publicobjectDoSomething(string dataType, ReadOnlySpanbyte data) {// 根据 dataType 来决定使用哪种序列化器 }}使用委托来定义获取服务的方法我们可以通过委托来定义获取服务的方法如下publicdelegate ISerializer SerializerFactory(string dataType);然后在 ConfigureServices 方法中注册services.AddSingletonMyJsonSerializer();services.AddSingletonMyMessagePackSerializer();services.AddSingletonSerializerFactory(sp {return dataType {switch (dataType) {casejson:return sp.GetRequiredServiceMyJsonSerializer();casemsgpack:return sp.GetRequiredServiceMyMessagePackSerializer();default:thrownew NotSupportedException(); } };});这样我们就可以在 MyService 中通过委托来获取服务了publicclassMyService{privatereadonly SerializerFactory _serializerFactory;publicMyService(SerializerFactory serializerFactory) { _serializerFactory serializerFactory; }publicobjectDoSomething(string dataType, ReadOnlySpanbyte data) {var serializer _serializerFactory(dataType);return serializer.Deserializeobject(data); }}基于配置来改变工厂因为本质是通过委托来获取服务所以我们可以通过配置来改变委托的行为如下publicstaticclassSerializerFactoryExtensions{publicstatic SerializerFactory CreateSerializerFactory(this IServiceProvider sp) {// get mapping from configurationvar mapping sp.GetRequiredServiceIConfiguration() .GetSection(SerializerMapping) .GetDictionarystring, string();return dataType {var serializerType mapping[dataType];return (ISerializer)sp.GetRequiredService(Type.GetType(serializerType)); }; }}然后在 appsettings.json 中配置{SerializerMapping:{json:WebApplication1.MyJsonSerializer,msgpack:WebApplication1.MyMessagePackSerializer}}然后在 ConfigureServices 方法中注册services.AddSingletonMyJsonSerializer();services.AddSingletonMyMessagePackSerializer();services.AddSingleton(SerializerFactoryExtensions.CreateSerializerFactory);总结本篇文章介绍了如何通过自定义工厂来实现基于 key 的服务获取这种方式在 aspnetcore 原生的 DI 中是原生支持的。学术界的 SOTA 模型在落地部署到工业界应用到过程中通常是要面临着低延迟Latency、高吞吐Throughpout、高效率Efficiency挑战的。而模型压缩算法可以将一个庞大而复杂的预训练模型转化为一个精简的小模型从而减少对硬件的存储、带宽和计算需求以达到加速模型推理和落地的目的。近年来主流的模型压缩方法包括数值量化Data Quantization也叫模型量化模型稀疏化Model sparsification也叫模型剪枝 Model Pruning知识蒸馏Knowledge Distillation 轻量化网络设计Lightweight Network Design和 张量分解Tensor Decomposition。其中模型剪枝是一种应用非常广的模型压缩方法其可以直接减少模型中的参数量。本文会对模型剪枝的定义、发展历程、分类以及算法原理进行详细的介绍。模型剪枝Pruning也叫模型稀疏化不同于模型量化对每一个权重参数进行压缩稀疏化方法是尝试直接“删除”部分权重参数。模型剪枝的原理是通过剔除模型中 “不重要” 的权重使得模型减少参数量和计算量同时尽量保证模型的精度不受影响。
http://www.w-s-a.com/news/590799/

相关文章:

  • 怎样在微信中做网站网站的备案号在哪
  • 返利淘网站怎么做wordpress htnl短代码
  • 网站 手机 appwordpress管理账户
  • 徐州网站建设 网站制作做招商网站的前景怎么样
  • 网站开发就业岗位鹧鸪哨网站1v1深度开发
  • 在线手机动画网站模板网站登录注册怎么做
  • 苏州品牌网站设计晋江论坛兔区是什么
  • 怎么利用代码做网站重庆网络营销网站建设销售
  • 用dw怎么做网站留言板百度举报网站
  • 成都微网站设计企业为什么要做网络营销推广
  • 双桥区网站制作企业网站一般内容包括哪些
  • 莆田外贸专业建站做app 需要先做网站吗
  • 网站怎么用北京口碑最好的装修公司
  • 潮州网站建设深圳微信分销网站设计
  • asp.net网站开发实例教程pdf泉州seo网站关键词优推广
  • 怎样建立一个企业网站dede 网站名称
  • 做网上竞彩网站合法吗免费网站建设品牌
  • 网站开发所需要的的环境客户关系管理的内涵
  • 优质做网站公司做软件的人叫什么
  • 徐州市徐州市城乡建设局网站首页网站建设刂金手指下拉十五
  • 建设游戏网站目的及其定位市场营销策略概念
  • 小学电教检查网站建设资料wordpress谷歌字体
  • 南通做网站的公司有哪些中国建筑论坛网
  • 技术支持 佛山网站建设wordpress不用ftp
  • 广州定制app开发wordpress配置搜索引擎优化
  • 兰州网站建设论坛四川建设网官网登录
  • 在线作图免费网站湖南批量出品机
  • 深圳做网站公司有哪些地方妇联加强网站平台建设
  • vps建设网站别人访问不了网页链接生成器
  • 网站建设一般要多少钱电商平台取名字大全