前百度_fantan


放假时间是1月1日到1月3日。但是到了1917年1月23日,也也就是那一年的春节快乐网||||||||||--|||||我爱我的自由给自己安慰就足够了|||||http://www.qq.com-www.duba.com(-)您的登录器已经过期了,请联系GM进行更新|||||,鲁迅却在单位上班,他的同事们也都在单位上班。此后的1月24日、1月25日、1月26日,仍然照常上班,丝毫没有放假的迹象
【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)内容概要:本文围绕使用MATLAB和XBee技术实现温度传感器无线网络的连续监控展开研究,介绍了如何构建无线传感网络系统,并利用MATLAB进行数据采集、处理与可视化分析。系统通过XBee模块实现传感器节点间的无线通信,实时传输温度数据至主机,MATLAB负责接收并处理数据,实现对环境温度的动态监测。文中详细阐述了硬件连接、通信协议配置、数据解析及软件编程实现过程,并提供了完整的MATLAB代码示例,便于读者复现和应用。该方案具有良好的扩展性和实用性,适用于远程环境监测场景。; 适合人群:具备一定MATLAB编程基础和无线通信基础知识的高校学生、科研人员及工程技术人员,尤其适合从事物联网、传感器网络相关项目开发的初学者与中级开发者。; 使用场景及目标:①实现基于XBee的无线温度传感网络搭建;②掌握MATLAB与无线模块的数据通信方法;③完成实时数据采集、处理与可视化;④为环境监测、工业测控等实际应用场景提供技术参考。; 阅读建议:建议读者结合文中提供的MATLAB代码与硬件连接图进行实践操作,先从简单的点对点通信入手,逐步扩展到多节点网络,同时可进一步探索数据滤波、异常检测、远程报警等功能的集成。
内容概要:本文系统讲解了边缘AI模型部署与优化的完整流程,涵盖核心挑战(算力、功耗、实时性、资源限制)与设计原则,详细对比主流边缘AI芯片平台(如ESP32-S3、RK3588、Jetson系列、Coral等)的性能参数与适用场景,并以RK3588部署YOLOv8为例,演示从PyTorch模型导出、ONNX转换、RKNN量化到Tengine推理的全流程。文章重点介绍多维度优化策略,包括模型轻量化(结构选择、输入尺寸调整)、量化(INT8/FP16)、剪枝与蒸馏、算子融合、批处理、硬件加速预处理及DVFS动态调频等,显著提升帧率并降低功耗。通过三个实战案例验证优化效果,最后提供常见问题解决方案与未来技术趋势。; 适合人群:具备一定AI模型开发经验的工程师,尤其是从事边缘计算、嵌入式AI、计算机视觉应用研发的技术人员,工作年限建议1-5年;熟悉Python、C++及深度学习框架(如PyTorch、TensorFlow)者更佳。; 使用场景及目标:①在资源受限的边缘设备上高效部署AI模型;②实现高帧率与低功耗的双重优化目标;③掌握从芯片选型、模型转换到系统级调优的全链路能力;④解决实际部署中的精度损失、内存溢出、NPU利用率低等问题。; 阅读建议:建议结合文中提供的代码实例与工具链(如RKNN Toolkit、Tengine、TensorRT)动手实践,重点关注量化校准、模型压缩与硬件协同优化环节,同时参考选型表格匹配具体应用场景,并利用功耗监测工具进行闭环调优。
优化下这段代码 并去除中文 # !/usr/bin/env python # -*- coding: utf-8 -*- import maya.cmds as cmds class ArnoldLightAOVTool: def __init__(self): self.window_name = "arnoldLightAOVTool" self.title = "Arnold 灯光工具" self.size = (300, 800) # 检查并删除已有窗口 if cmds.window(self.window_name, exists=True): cmds.deleteUI(self.window_name) # 创建主窗口 self.window = cmds.window(self.window_name, title=self.title, widthHeight=self.size) # 创建主布局 self.main_layout = cmds.columnLayout(adjustableColumn=True, parent=self.window) # 添加UI元素 self.createUI() # 显示窗口 cmds.showWindow(self.window) def createUI(self): """创建UI元素""" # 灯光属性部分 cmds.separator(height=15, style='in', parent=self.main_layout) cmds.text("Light Attributes", align='left', font='boldLabelFont', parent=self.main_layout) cmds.separator(height=5, style='none', parent=self.main_layout) # Color属性 self.color_rgb = cmds.colorSliderGrp(label='Color:', rgb=(1,1,1), columnWidth3=[70,60,60], parent=self.main_layout) cmds.button(label='Apply Color', command=self.applyColor, parent=self.main_layout, backgroundColor=[0.2, 0.2, 0]) # Intensity属性 self.intensity = cmds.floatSliderGrp(label='Intensity:', minValue=0, maxValue=10, field=True, value=1, columnWidth3=[70,60,60], parent=self.main_layout) cmds.button(label='Apply Intensity', command=self.applyIntensity, parent=self.main_layout, backgroundColor=[0.2, 0.2, 0]) # Exposure属性 self.exposure = cmds.floatSliderGrp(label='Exposure:', minValue=0, maxValue=25, field=True, value=0, columnWidth3=[70,60,60], parent=self.main_layout) cmds.button(label='Apply Exposure', command=self.applyExposure, parent=self.main_layout, backgroundColor=[0.2, 0.2, 0]) cmds.separator(height=5, style='none', parent=self.main_layout, ) cmds.separator(height=10, style='none', parent=self.main_layout, backgroundColor=[0.5, 0.2, 0]) #aiCamera self.aiCamera = cmds.floatSliderGrp(label='Camera:', minValue=0, maxValue=1, field=True, value=0, columnWidth3=[80,60,60], parent=self.main_layout) cmds.button(label='Camera (相机)', command=self.applyAiCamera, parent=self.main_layout, backgroundColor=[0.1, 0.3, 0]) #aiTransmission self.aiTransmission = cmds.floatSliderGrp(label='Transmission:', minValue=0, maxValue=1, field=True, value=0, columnWidth3=[80,60,60], parent=self.main_layout) cmds.button(label='Transmission (透明)', command=self.applyAiTransmission, parent=self.main_layout, backgroundColor=[0.1, 0.3, 0]) #aiDiffuse self.aiDiffuse = cmds.floatSliderGrp(label='Diffuse:', minValue=0, maxValue=1, field=True, value=1, columnWidth3=[80,60,60], parent=self.main_layout) cmds.button(label='Diffuse (漫反射)', command=self.applyAiDiffuse, parent=self.main_layout, backgroundColor=[0.1, 0.3, 0]) #aiSpecular self.aiSpecular = cmds.floatSliderGrp(label='Specular:', minValue=0, maxValue=1, field=True, value=1, columnWidth3=[80,60,60], parent=self.main_layout) cmds.button(label='Specular (高光)', command=self.applyAiSpecular, parent=self.main_layout, backgroundColor=[0.1, 0.3, 0]) #aiSss self.aiSss = cmds.floatSliderGrp(label='Sss:', minValue=0, maxValue=1, field=True, value=1, columnWidth3=[80,60,60], parent=self.main_layout) cmds.button(label='Sss (透射)', command=self.applyAiSss, parent=self.main_layout, backgroundColor=[0.1, 0.3, 0]) #aiIndirect self.aiIndirect = cmds.floatSliderGrp(label='Indirect:', minValue=0, maxValue=1, field=True, value=1, columnWidth3=[80,60,60], parent=self.main_layout) cmds.button(label='Indirect (间接照明)', command=self.applyAiIndirect, parent=self.main_layout, backgroundColor=[0.1, 0.3, 0]) #aiVolume self.aiVolume = cmds.floatSliderGrp(label='Volume:', minValue=0, maxValue=1, field=True, value=1, columnWidth3=[80,60,60], parent=self.main_layout) cmds.button(label='Volume (体积)', command=self.applyAiVolume, parent=self.main_layout, backgroundColor=[0.1, 0.3, 0]) #最大反弹次数 cmds.separator(height=15, style='none', parent=self.main_layout, ) cmds.text(l="最大反弹次数:") self.num_Max_fantan = cmds.intField("num_of_fantan", min=1, v=999, step=1) cmds.button(label='Updated Max_fantan (反弹次数)', command=self.max_fantan_setup, parent=self.main_layout, backgroundColor=[0.2, 0.3, 0]) # AOV_light_grp cmds.separator(height=15, style='none', parent=self.main_layout, ) prefixText = cmds.text(l="重 命 组 名:") self.prefixField = cmds.textField("prefix", pht="name_grp") cmds.button(label='Updated AOV_light_grp (修改灯光组名_lingt_grp)', command=self.aov_compositing_setup, parent=self.main_layout, backgroundColor=[0.2, 0.3, 0]) def getSelectedArnoldLights(self): """获取选中的Arnold灯光 - 改进版""" selected = cmds.ls(selection=True, long=True) or [] arnold_lights = [] # Arnold灯光类型列表 arnold_light_types = [ 'aiAreaLight', 'aiSkyDomeLight', 'aiPhotometricLight', 'aiMeshLight', 'aiLightPortal' ] for obj in selected: # 检查是否是transform节点 if cmds.objectType(obj) == 'transform': shapes = cmds.listRelatives(obj, shapes=True, fullPath=True) or [] for shape in shapes: if cmds.objectType(shape) in arnold_light_types: arnold_lights.append(shape) # 直接检查是否是灯光shape节点 elif cmds.objectType(obj) in arnold_light_types: arnold_lights.append(obj) return arnold_lights def applyColor(self, *args): """应用颜色属性""" color = cmds.colorSliderGrp(self.color_rgb, query=True, rgb=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('color', node=light, exists=True): cmds.setAttr(light + ".color", color[0], color[1], color[2], type='double3') print("Applied color to {}".format(light)) except Exception as e: cmds.warning("Failed to set color on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="Color applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def applyIntensity(self, *args): """应用强度属性""" intensity = cmds.floatSliderGrp(self.intensity, query=True, value=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('intensity', node=light, exists=True): cmds.setAttr(light + ".intensity", intensity) print("Applied intensity to {}".format(light)) except Exception as e: cmds.warning("Failed to set intensity on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="Intensity applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def applyExposure(self, *args): """应用曝光属性""" exposure = cmds.floatSliderGrp(self.exposure, query=True, value=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('exposure', node=light, exists=True): cmds.setAttr(light + ".exposure", exposure) print("Applied exposure to {}".format(light)) except Exception as e: cmds.warning("Failed to set exposure on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="Exposure applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def applyAiTransmission(self, *args): """透明属性""" aiTransmission = cmds.floatSliderGrp(self.aiTransmission, query=True, value=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('aiTransmission', node=light, exists=True): cmds.setAttr(light + ".aiTransmission", aiTransmission) print("Applied Transmission to {}".format(light)) except Exception as e: cmds.warning("Failed to set Transmission on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="Transmission applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def applyAiCamera(self, *args): """透明属性""" aiCamera = cmds.floatSliderGrp(self.aiCamera, query=True, value=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('aiCamera', node=light, exists=True): cmds.setAttr(light + ".aiCamera", aiCamera) print("Applied Camera to {}".format(light)) except Exception as e: cmds.warning("Failed to set Camera on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="Camera applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def applyAiDiffuse(self, *args): """漫反射属性""" aiDiffuse = cmds.floatSliderGrp(self.aiDiffuse, query=True, value=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('aiDiffuse', node=light, exists=True): cmds.setAttr(light + ".aiDiffuse", aiDiffuse) print("Applied Diffuse to {}".format(light)) except Exception as e: cmds.warning("Failed to set Diffuse on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="Diffuse applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def applyAiSpecular(self, *args): """高光属性""" aiSpecular = cmds.floatSliderGrp(self.aiSpecular, query=True, value=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('aiSpecular', node=light, exists=True): cmds.setAttr(light + ".aiSpecular", aiSpecular) print("Applied Specular to {}".format(light)) except Exception as e: cmds.warning("Failed to set Specular on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="Specular applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def applyAiSss(self, *args): """透射属性""" aiSss = cmds.floatSliderGrp(self.aiSss, query=True, value=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('aiSss', node=light, exists=True): cmds.setAttr(light + ".aiSss", aiSss) print("Applied Sss to {}".format(light)) except Exception as e: cmds.warning("Failed to set Sss on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="Sss applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def applyAiIndirect(self, *args): """间接属性""" aiIndirect = cmds.floatSliderGrp(self.aiIndirect, query=True, value=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('aiIndirect', node=light, exists=True): cmds.setAttr(light + ".aiIndirect", aiIndirect) print("Applied Indirect to {}".format(light)) except Exception as e: cmds.warning("Failed to set Indirect on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="Indirect applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def applyAiVolume(self, *args): """体积属性""" aiVolume = cmds.floatSliderGrp(self.aiVolume, query=True, value=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('aiVolume', node=light, exists=True): cmds.setAttr(light + ".aiVolume", aiVolume) print("Applied Volume to {}".format(light)) except Exception as e: cmds.warning("Failed to set Volume on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="Volume applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def max_fantan_setup(self, *args): aiMaxBounces = cmds.intField(self.num_Max_fantan, q=True, v=True) lights = self.getSelectedArnoldLights() if not lights: cmds.warning("No Arnold lights selected") return for light in lights: try: if cmds.attributeQuery('aiMaxBounces', node=light, exists=True): cmds.setAttr(light + ".aiMaxBounces", aiMaxBounces) print("Applied MaxBounces to {}".format(light)) except Exception as e: cmds.warning("Failed to set MaxBounces on {}: {}".format(light, str(e))) cmds.inViewMessage(amg="MaxBounces applied to %d light(s)" % len(lights), pos='midCenter', fade=True) def aov_compositing_setup(self, *args): import maya.cmds as cmds from mtoa.core import createOptions if cmds.objExists("defaultArnoldRenderOptions") == 0: cmds.warning("Render Settings not initialised. Initialising...") createOptions() import mtoa.aovs as aovs import maya.mel as mel selection = cmds.ls(sl=1, long=1) if not selection: cmds.confirmDialog(title='Light Group Setup', message="Nothing was selected.", button='Ok', icon="warning") return # Setting selected light's AOV group to it's name light_names = cmds.listRelatives(selection, shapes=1) failed_lights = [] prefix = cmds.textField(self.prefixField, q=True, tx=True) for light_name in light_names: print("light_name", light_name) aov_name = 'setAttr -type "string" {}.aiAov {};'.format(light_name, prefix) try: mel.eval(aov_name) except RuntimeError: cmds.warning("Light not supported for Arnold AOVs: {}".format(light_name)) failed_lights.append(light_name) # Check if the AOV already Exists. if cmds.objExists("aiAOV_RGBA"): message = "Update of aiAOV_RGBA was successful." else: aovs.AOVInterface().addAOV('RGBA', aovType='rgba') message = "aiAOV_RGBA has been created." cmds.setAttr("aiAOV_RGBA.lightGroups", 1) if failed_lights: message += "\n\nThese lights could not be setup:\n" for _light in failed_lights: message += _light + "\n" cmds.confirmDialog(title='Confirm', message=message, button='Confirm', icon="information") print("Updated aiAOV_RGBA") # 创建并显示工具窗口
08-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值