tag 标签: 部署

相关资源
  • 所需E币: 0
    时间: 2024-10-21 11:13
    大小: 3.7KB
    上传者: huangyasir1990
    一、Llama3大模型是什么?Llama是由Meta的人工智能研究团队开发并开源的大型语言模型(LLM),继Llama2+模型之后,Meta进一步推出了性能更卓越的MetaLlama3系列语言模型,包括一个80亿参数模型和一个700亿参数模型。Llama370B的性能美Gemini1.5Pro,全面超越Claude大杯,而400B+的模型则有望与Claude超大杯和新版GPT-4Turbo掰手腕二、llama2和llama3有什么区别?llama3与llama2的模型架构完全相同,只是model的一些配置(主要是维度)有些不同,llama2推理的工程基本可以无缝支持llama3。在meta官方的代码库,模型计算部分的代码是一模一样的,也就是主干decoderonly,用到了RoPE、SwiGLU、GQA等具体技术。通过对比huggingface模型中的config.json,首先可以看出,模型都是LlamaForCausalLM这个类,模型结构不变。三、Llama3的目标和最佳表现Llama3拥抱开源社区。通过不断响应用户反馈来提升模型效果,并且持续在负责任的AI领域扮演重要角色。近期发布的基于文本的模型是Llama3集合的一部分。未来的目标是使Llama3成为多语言、多模态、长上下文、持续提升核心能力,如:推理和代码生成。得益于pretraining和post-training的改进,我们的pretrained模型和instruction-fine-tuned模型是8B和70B最好的大模型。post-training的改进包括:降低误拒率、改进的对齐方法、模型回答的多样性。同时,我们也看到Llama3综合能力的提升,如:推理、代码生成、指令遵循。这使得Llama3更加可控。四、从头构建LLaMA3大模型(Python)首先是模型架构的选择。原工作用的是GPTNeo架构(可以看他们的config),这个算是很老的模型了,最初是EleutherAI用来复现追踪GPT-3的工作的,现在用的也比较少了。我打算选用LLaMA架构,也算是符合研究主流、便于推广。LLaMA3主要多了个GQA,也是现在模型的主流,我这里也用一下。其次是数据的选择。既然是复现,就直接贯彻拿来主义,用原工作开源的数据集(主要是从头生成要花不少api费用)。原工作第一版的时候用的是GPT-3.5生成的数据,后面社区有人更新了第二版,是用GPT-4生成的,比原数据更好,就用它了。最后是训练。其实我手上就两张306012G和4060Ti16G,训这个确实是绰绰有余,但我还是不想在桌前吵我自己,于是继续用Colab。现在Colab可以直接看到剩余使用时长了,虽然已经被砍到只有3h左右的用卡时间,但至少心里有个底,况且3h训我们这个也完全够了。五、用户与LlaMA3进行交互的方式主要分为6个阶段。阶段1:通过按原样使用模型,以适应广泛的应用场景。第2阶段:在用户自定义的应用程序中使用模型。第3阶段:使用提示工程来训练模型,以产生所需的输出。第4阶段:在用户端使用提示工程,同时深入研究数据检索和微调,这仍然主要由LLM提供商管理。第5阶段:把大部分事情掌握在自己(用户)手中,从提示工程到数据检索和微调(RAG模型、PEFT模型等)等诸多任务。第6阶段:从头开始创建整个基础模型——从训练前到训练后。为了最大限度地利用这些模型,建议最好的方法是使用上面的第5阶段,因为灵活性很大程度上取决于用户自身。能够根据领域需求定制模型对于最大限度地提高其收益至关重要。因此,如果不参与到系统开发中,是不能产生最佳回报的。
  • 所需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-6-17 10:28
    大小: 1.63KB
    上传者: 开心就很好了
    今天给大家分享一套YOLO8的视频教程,《YOLOv8自定义对象检测、实例分割、目标跟踪从训练到部署》,2023年新课,视频+源码+课件+数据下载。《YOLOv8自定义对象检测、实例分割、目标跟踪从训练到部署》课程详解YOLOv8模型结构从backbone、neck、header、loss层面详解YOLOv8相比YOLOX、YOLOv5、YOLOv6的全面改进与创新。《《YOLOv8自定义对象检测、实例分割、目标跟踪从训练到部署》》课程完成YOLOv8自定义数据的对象检测,实例分割、自定义对象跟踪,YOLOv8在主流推理平台上部署包括OpenVINO、ONNXRUNTIME、TensorRT推理代码详解与演示。打通从模型结构理论到工程实践训练部署整个流程。彻底玩转YOLOv8。章节1:YOLOv8介绍与安装环境测试章节2:YOLOv8模型结构与源码详解章节3:YOLOv8自定义对象检测章节4:YOLOv8自定义实例分割-工业缺陷检测章节5:YOLOv8自定义对象跟踪章节6:YOLOv8模型推理部署章节7:YOLOv8课程总结源码+课件+数据安装YOLOv8有两种安装方式,一种是直接用pip命令安装:pipinstallultralytics另外一种是通过源码安装:gitclonehttps://github.com/ultralytics/ultralyticscdultralyticspipinstall-e'.[dev]'安装完成后就可以通过yolo命令在命令行进行使用了。目标检测使用YOLOv8进行目标检测,可以使用下面的命令:yolotask=detectmode=predictmodel=yolov8n.ptsource=ultralytics/assets/bus.jpgimgsz=640show=Truesave=True如果模型权重不存在,程序会自动从GitHub中下载。如果对命令行的参数不了解,可以参考官方文档的说明,也可以直接看ultralytics代码仓库中的ultralytics/yolo/cfg/default.yaml文件,里面有所有参数的说明和默认值。fromopenvino.runtimeimportCoreimportnumpyasnpimportcv2,timefromultralytics.yolo.utilsimportROOT,yaml_loadfromultralytics.yolo.utils.checksimportcheck_yamlMODEL_NAME="yolov8n-int8"CLASSES=yaml_load(check_yaml('coco128.yaml'))['names']colors=np.random.uniform(0,255,size=(len(CLASSES),3))
  • 所需E币: 0
    时间: 2023-6-2 16:16
    大小: 726B
    上传者: 蝴蝶结欧恩
    分享课程——YOLOv8自定义对象检测、实例分割、目标跟踪从训练到部署,2023新课,提供源码+课件+数据。详解YOLOv8模型结构从backbone、neck、header、loss层面详解YOLOv8相比YOLOX、YOLOv5、YOLOv6的全面改进与创新。完成YOLOv8自定义数据的对象检测,实例分割、自定义对象跟踪,YOLOv8在主流推理平台上部署包括OpenVINO、ONNXRUNTIME、TensorRT推理代码详解与演示。打通从模型结构理论到工程实践训练部署整个流程。彻底玩转YOLOv8。
  • 所需E币: 1
    时间: 2023-4-20 11:31
    大小: 88.16MB
    企业集成模式:设计、构建及部署消息传递解决方案-(大师签名系列)-[美]GregorHohpe&BobbyWoolf
  • 所需E币: 1
    时间: 2023-4-12 09:48
    大小: 10.98MB
    IPv6部署和管理-(国际信息工程先进技术译丛)-[美]MichaelDooley&TimothyRooney-机械工业出版社
  • 所需E币: 5
    时间: 2023-2-11 12:17
    大小: 1.53MB
    上传者: ZHUANG
    在企业WLAN部署中实现短信认证和网络隔离
  • 所需E币: 2
    时间: 2023-1-10 13:54
    大小: 26.29KB
    上传者: 张红川
    Linux部署Django项目
  • 所需E币: 3
    时间: 2022-9-24 21:21
    大小: 272.67KB
    上传者: czd886
    综合安防管理平台的部署与应用
  • 所需E币: 0
    时间: 2022-7-9 11:48
    大小: 2.65MB
    上传者: czd886
    多无人机使能移动边缘计算系统中的计算卸载与部署优化
  • 所需E币: 1
    时间: 2022-7-9 11:16
    大小: 3.45MB
    上传者: czd886
    DS⁃YOLO:一种部署在无人机终端上的小目标实时检测算法
  • 所需E币: 1
    时间: 2022-7-7 11:08
    大小: 1.72MB
    上传者: ZHUANG
    电动汽车通信网络的MEC部署策略研究
  • 所需E币: 1
    时间: 2022-5-16 11:16
    大小: 1.46MB
    上传者: czd886
    5G部署场景和潜在技术研究
  • 所需E币: 1
    时间: 2022-5-16 11:14
    大小: 3.43MB
    上传者: czd886
    5G部署场景和潜在技术
  • 所需E币: 1
    时间: 2022-5-9 11:16
    大小: 1.1MB
    上传者: czd886
    基于5G的超密集无线网络规划与部署方案研究
  • 所需E币: 1
    时间: 2022-5-6 22:53
    大小: 92.01KB
    上传者: czd886
    5G无线网技术特征及部署应对策略探讨
  • 所需E币: 1
    时间: 2022-5-6 22:53
    大小: 1.35MB
    上传者: czd886
    5G无线网技术特征及部署改进策略
  • 所需E币: 4
    时间: 2020-11-16 15:44
    大小: 181.72KB
    上传者: wxlai1998
    开发和部署千兆独立和交换系统的理想解决方案
  • 所需E币: 1
    时间: 2020-5-9 17:51
    大小: 1.69MB
    上传者: 指的是在下
    K8S集群部署指南(CentOS7.6)
  • 所需E币: 5
    时间: 2020-1-9 16:36
    大小: 165KB
    上传者: quw431979_163.com
    WiMAX部署緊鑼密鼓無線場測輔助儀器打前鋒WiMAX部署緊鑼密鼓無線場測輔助儀器打前鋒|||新通訊2010年4月號110期||文.董一志/王吳祺||[pic]||目前全球微波存取互通介面(WiMAX)技術的應用市場已經逐漸明朗,各廠||商產品相繼銷售,如何擴大市占率,穩定的訊號傳輸將是主要關鍵。且Wi||MAX被定位為行動的資料通訊系統,有別於以往2G、3G以話務(Traffic)為||主的行動通訊系統,在資料傳輸的要求上,必須考慮各種服務品質(Quali||tyofService,QoS),以確保資料在行動傳輸中能夠正確傳遞。因此在||測試上的要求,也相對嚴謹。||[pic]||各項測試嚴格把關實場測試為最終手段 ||一般而言,任何通訊技術能夠運作,不外乎定義技術規範以及執行是否合||乎規範的測試,後者稱為一致性測試(ConformanceTest)。以WiMAX技術||而言,則定義射頻一致性測試(RadioConformanceTest,RCT)及協定一||致性測試(ProtocolConformanceTest,||PCT),來驗證各項產品是否符合Wi……