tag 标签: 实战课

相关资源
  • 所需E币: 0
    时间: 2024-5-13 13:48
    大小: 2.29KB
    AIAgent的定义与特点AIAgent是指能够自主地感知环境、进行决策、执行动作,并与环境进行交互的智能体。AIAgent通常具有以下特点:自主性:AIAgent能够独立地进行感知、决策和行动,无需人工干预。目标导向:AIAgent的行为是目标驱动的,其目标可以是完成特定任务、优化特定指标或学习新的知识。适应性:AIAgent能够根据环境的变化调整自己的行为,以适应不同的情况。学习能力:AIAgent能够通过与环境的交互学习新的知识和技能,并不断改进自己的行为。AIAgent在各个领域都有广泛的应用,以下是其中一些应用案例:1.医疗保健:AlAgent可以帮助医生诊断疾病、分析病理切片和制定治疗方案。此外,它们还可以协助护士进行病人监护和记录病历,提高医疗保健的效率和质量。2.金融服务:AlAgent可以帮助银行和保险公司进行风险评估、信用评级和欺诈检测。它们还可以为客户提供个性化的金融咨询服务,提高客户满意度和忠诚度。3.制造业:AlAgent可以帮助工厂自动化生产线进行实时监控、故障诊断和预测性维护。它们还可以协助工程师进行设计和优化生产流程,提高生产效率和产品质量。4.智慧交通:AlAgent可以帮助交通管理部门优化交通流量、降低拥堵和提高交通安全。它们还可以协助驾驶员进行自动驾驶和辅助驾驶,提高道路交通安全性和行车效率。代表性模型:简单反射智能体:行为直接由当前感知决定。具有内部状态的智能体:基于观察历史和当前的感知来决定行动。目标导向智能体:行动旨在实现定义明确的目标。效用基础智能体:评估可能行动的效用,并选择效用最大的行动。分类智能体按照其复杂性和功能可以被分类为:基于规则的智能体:遵循预定义的规则做出反应。学习型智能体:能够从数据中学习并优化其行为。自主智能体:具备一定程度的自我决策能力,能够在没有人类干预的情况下操作。一个精简的Agent决策流程,用函数表达式:Agent:P(感知)—>P(规划)—>A(行动)类似人类「做事情」的过程,Agent的核心功能,可以归纳为三个步骤的循环:感知(Perception)、规划(Planning)和行动(Action)。感知(Perception)是指Agent从环境中收集信息并从中提取相关知识的能力,规划(Planning)是指Agent为了某一目标而作出的决策过程,行动(Action)是指基于环境和规划做出的动作。其中,Policy是Agent做出Action的核心决策,而行动又通过观察(Observation)成为进一步Perception的前提和基础,形成自主地闭环学习过程。这一过程就像马克思主义的「实践论」:“认识从实践开始,经过实践得到了理论的认识,再回到实践中去。”Agent也在知行合一中进化。AgentAI智能体如何实现超进化呢?其实主要是通过机器学习和深度学习等技术实现自我优化和知识积累主要有以下几个方面:一、数据收集与预处理大量数据:智能体需要获取丰富的数据,包括各种场景下的信息。数据清洗:对数据进行清理和预处理,确保数据的质量和准确性。二、模型训练机器学习算法:利用各种机器学习算法,如监督学习、无监督学习等,对数据进行训练。深度学习网络:构建深度神经网络,如卷积神经网络、循环神经网络等,来学习数据中的模式和规律。三、自我优化参数调整:根据训练结果,不断调整模型的参数,以提高性能。超参数优化:通过试验和调整超参数,找到最优的模型配置。
  • 所需E币: 0
    时间: 2023-11-13 17:24
    大小: 3.59KB
    TensorRT部署手把手教您,跟我一起来学习。这东西就是NVidia在自家显卡上做了一个深度学习inference加速的框架,只要你把训练好的模型参数和结构告诉他,他就能自动帮你优化(硬件相关),以达到最快速度。这涉及两个问题:应该以什么模型格式把模型喂给TensorRT?如何使用TensorRT优化后的模型?对于第一个问题:现在的深度学习框架非常多,不止常用的pytorch/tensorflow,而即使是同一种框架还可以使用不同的编程语言实现。让TensorRT对每一个框架都直接支持,显然是不可能的。TensorRT只需要知道网络的结构和参数即可,它支持三种转换入口:TF-TRT,要求是TensorFlow模型ONNX模型格式使用TensorRTAPI手动把模型搭起来,然后把参数加载进去第一种不够灵活,第三种比较麻烦,所以最省事方便的就是第二种方法。本文介绍第二种。ONNX就是一个通用的神经网络格式,一个.onnx文件内包含了网络的结构和参数。甭管是用什么深度学习框架写的网络,只要把模型导出成ONNX格式,就跟原本的代码没有关系了。转成ONNX格式还没有被优化,需要再使用TensorRT读取它并优化成TensorRTEngine。优化参数也在这一步指定。对于第二个问题:得到的TensorRTEngine是硬件相关的,之后跑模型只需要运行这个Engine即可。调用TensorRTEngine需要使用TensorRTRuntimeAPI。所以整个逻辑就是:把你的模型导出成ONNX格式。把ONNX格式模型输入给TensorRT,并指定优化参数。使用TensorRT优化得到TensorRTEngine。使用TensorRTEngine进行inference。屏蔽nouveau驱动nouveau是系统自带的一个显示驱动程序,需要先将其禁用,然后再进行下一步操作,否则在安装显卡驱动时,会提示:YouappeartoberunninganXserver…,然后安装失败。分别打开如下两个文件(如果没有就创建一个),并在其中输入如下两句,然后保存。#vim/etc/modprobe.d/nvidia-installer-disable-nouveau.conf#vim/lib/modprobe.d/nvidia-installer-disable-nouveau.conf...blacklistnouveauoptionsnouveaumodeset=0重做initramfs镜像重做镜像之后启动才会屏蔽驱动,否则无效,重做时应先rm已有驱动,否则会提示无法覆盖。这一步需要确保boot文件目录的空间足够,否则会失败。建议大于400MB#cp/boot/initramfs-$(uname-r).img/boot/initramfs-$(uname-r).img.bak#dracut/boot/initramfs-$(uname-r).img$(uname-r)--force#rm/boot/initramfs-$(uname-r).img.bak;这一步可不执行如果想用YOLOv5对图像做目标检测,在将图像输入给模型之前还需要做一定的预处理操作,预处理操作应该与模型训练时所做的操作一致。YOLOv5的输入是RGB格式的3通道图像,图像的每个像素需要除以255来做归一化,并且数据要按照CHW的顺序进行排布。所以YOLOv5的预处理大致可以分为两个步骤:将原始输入图像缩放到模型需要的尺寸,比如640x640。这一步需要注意的是,原始图像是按照等比例进行缩放的,如果缩放后的图像某个维度上比目标值小,那么就需要进行填充。举个例子:假设输入图像尺寸为768x576,模型输入尺寸为640x640,按照等比例缩放的原则缩放后的图像尺寸为640x480,那么在y方向上还需要填充640-480=160(分别在图像的顶部和底部各填充80)。来看一下实现代码:cv::Matinput_image=cv::imread("dog.jpg");cv::Matresize_image;constintmodel_width=640;constintmodel_height=640;constfloatratio=std::min(model_width/(input_image.cols*1.0f),               model_height/(input_image.rows*1.0f));//等比例缩放constintborder_width=input_image.cols*ratio;constintborder_height=input_image.rows*ratio;//计算偏移值constintx_offset=(model_width-border_width)/2;constinty_offset=(model_height-border_height)/2;cv::resize(input_image,resize_image,cv::Size(border_width,border_height));cv::copyMakeBorder(resize_image,resize_image,y_offset,y_offset,x_offset,          x_offset,cv::BORDER_CONSTANT,cv::Scalar(114,114,114));//转换为RGB格式cv::cvtColor(resize_image,resize_image,cv::COLOR_BGR2RGB);格式转化要将tensorflow的pb文件转化为uff格式的文件,首先找到convert_to_uff文件,看自己用的是哪个版本的python,如果是python3,则在/usr/lib/python3.5/dist-packages/uff/bin文件夹下,如果是python2,则在/usr/lib/python2.7/dist-packages/uff/bin文件夹下我们在终端中进入end_to_end_tensorflow_mnist,运行以下指令首先使用Pytorch实现一个和上文一致的模型,即只对输入做一次池化并输出;然后将Pytorch模型转换成ONNX模型;最后将ONNX模型转换成TensorRT模型。这里主要使用了TensorRT的OnnxParser功能,它可以将ONNX模型解析到TensorRT的网络中。最后我们同样可以得到一个TensorRT模型,其功能与上述方式实现的模型功能一致。importtorch importonnx importtensorrtastrt   onnx_model='model.onnx'  classNaiveModel(torch.nn.Module):   def__init__(self):     super().__init__()     self.pool=torch.nn.MaxPool2d(2,2)    defforward(self,x):     returnself.pool(x)  device=torch.device('cuda:0')  #generateONNXmodel torch.onnx.export(NaiveModel(),torch.randn(1,3,224,224),onnx_model,input_names=['input'],output_names=['output'],opset_version=11) onnx_model=onnx.load(onnx_model)  #createbuilderandnetwork logger=trt.Logger(trt.Logger.ERROR) builder=trt.Builder(logger) EXPLICIT_BATCH=1<<(int)(   trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH) network=builder.create_network(EXPLICIT_BATCH)  #parseonnx parser=trt.OnnxParser(network,logger)  ifnotparser.parse(onnx_model.SerializeToString()):   error_msgs=''   forerrorinrange(parser.num_errors):     error_msgs+=f'{parser.get_error(error)}\n'   raiseRuntimeError(f'Failedtoparseonnx,{error_msgs}')  config=builder.create_builder_config() config.max_workspace_size=1<<20 profile=builder.create_optimization_profile()  profile.set_shape('input',[1,3,224,224],[1,3,224,224],[1,3,224,224]) config.add_optimization_profile(profile) #createengine withtorch.cuda.device(device):   engine=builder.build_engine(network,config)  withopen('model.engine',mode='wb')asf:   f.write(bytearray(engine.serialize()))   print("generatingfiledone!") 
  • 所需E币: 0
    时间: 2023-9-1 09:42
    大小: 1.59KB
    上传者: 开心就很好了
    FlinkOnK8s实战课程分享下载,视频+源码+文档+虚拟机+软件包下载!!目前项目中用到Flink作为离线ETL处理构建相关的特征系统,而特征系统主要是为数据科学家、数据工程师、机器学习工程师去使用,用来去构建AI特征库,用来做模型的训练、用来做数据测试以及一些数据的预测及模型的在线服务,主要特征系统是从大数据Hbase、Hive以及关系型数据库去拉取相应的库表,存储到特征库表中,而本身K8S云原生也是相关的趋势,为什么flink要基于K8s做部署?主要有以下几个优势:容器环境容易部署、清理和重建:不像是虚拟环境以镜像进行分发部署起来对底层系统环境依赖小,所需要的包都很方便的集成到镜像中。更好的隔离性与安全性,应用部署以pod启动,pod之间相互独立,资源环境隔离后更安全。k8s集群能够利用好资源,机器学习、在线服务等许多任务都可以混合部署。云原生的趋势,丰富的k8s生态。编写K8s资源描述文件从FlinkonKubernetes的架构如上图所示,Flink任务在Kubernetes上运行的步骤有:(1)首先往Kubernetes集群提交了资源描述文件后,会启动Master和Worker的container。(2)MasterContainer中会启动FlinkMasterProcess,包含Flink-ContainerResourceManager、JobManager和ProgramRunner。(3)WorkerContainer会启动TaskManager,并向负责资源管理的ResourceManager进行注册,注册完成之后,由JobManager将具体的任务分给WorkerContainer,再由Container去执行。(4)需要说明的是,MasterContainer与WorkerContainer是用一个镜像启动的,只是启动参数不一样,如下图所示,两个deployment文件的镜像是同一个。首先,它会向K8sMaster申请创建FlinkConfigMap,在ConfigMap中提供了Flink集群运行所需要的配置,如:flink-conf.yaml和log4j.properties;其次,创建FlinkJobManager的service,通过service来打通TaskManager和JobManager之间的联通性;然后,创建FlinkJobmanager的Deployment,用来启动JobMaster,包含的组件有Dispatcher和Resourcemanager。最后,创建FlinkTaskManager的Deployment,用来启动TaskManager,因为Flink官方taskmanager-deployment.yaml示例中指定了2个副本,所以图中展示了2个TM节点
  • 所需E币: 0
    时间: 2023-8-21 17:28
    大小: 1.23KB
    上传者: 蝴蝶结欧恩
    分享课程——FlinkOnK8s实战课程2023,附源码+文档+虚拟机+软件包下载。平台工程是一个在云原生时代重新焕发活力的旧概念,被视为解决云和集群扩张、资源浪费和成本失控问题的有效手段。容器和WebAssembly(WASM)提供了一个清晰的接口,使开发者可以自由选择他们喜欢的任何语言和框架(不同于JavaEE的限制),同时也便于核心团队进行平台标准的设定和治理。Kubernetes的清晰容器管理接口将开发和运营的关注点分离,从而提升效率和生产力。我知道许多开发者可能会抱怨:"平台团队只是想再次控制我们使用的工具,他们总是阻碍我们,拖慢我们的进度,让我们感到困扰。"但我认为这次情况有所不同。为什么呢?因为有一个简单的约定,那就是只要能放进一个容器,它就能被部署。
  • 所需E币: 0
    时间: 2023-4-13 17:08
    大小: 716B
    上传者: 蝴蝶结欧恩
    课程分享——JMeter高级性能测试实战课,30章完整版,附文档资料。本课程为Jmeter高级性能测试项目实战课程,全程实战讲解,涵盖性能测试理论、性能测试资源监控、性能测试瓶颈定位、性能测试资源调优,通过综合项目实战性能分析(涉及到JVM、中间件、数据库的监控、分析与调优),全面掌握软件性能测试技术,助力你成功升级为性能测试高手。本课程从性能测试架构的角度出发,剖析性能测试理论知识,详解业务统计数据到场景的转化过程,重点解析了性能测试工具、性能监控工具、性能分析工具、性能调试工具以及报告输出的各个方面。由浅入深带你全面了解性能测试的解决方案,适用于想提高性能测试技术的每一位测试工程师。