网站动态添加广告怎么做的免费视频网站建设

张小明 2026/1/9 21:37:12
网站动态添加广告怎么做的,免费视频网站建设,相亲网站透露自己做理财的女生,网络营销的常用方法有哪些1. 前言 不是官方实现#xff0c;但star最多#xff0c;值得学习。代码实现时间是两年前#xff0c;因此和现在普遍的多模态大模型实现不一致#xff0c;但有借鉴意义。 2. 数据输入流 书接上文[多模态大模型如何支持原生分辨率#xff1f;NaViT#xff01;]#xff…1. 前言不是官方实现但star最多值得学习。代码实现时间是两年前因此和现在普遍的多模态大模型实现不一致但有借鉴意义。2. 数据输入流书接上文[多模态大模型如何支持原生分辨率NaViT]NaViT的数据输入流如下整体数据流包含以下步骤输入多张图像每张图像分割成patchpatch经过线性映射得到token为了加速训练执行token drop随机省略输入patch选择若干张图像打包pack成一个序列作为transformer的“一条输入样本”transformer默认的注意力是每个token会关注序列中所有token然而pack之后序列中有多张图像图像1的token原则上只能关注图像1的token不能关注其他图像的token。因此需要做掩码。类似的池化层也需要做掩码获取序列中每张图像的最终向量表示。3. 代码实现3.1 输入多张图片v NaViT( image_size 256, patch_size 32, num_classes 1000, dim 1024, depth 6, heads 16, mlp_dim 2048, dropout 0.1, emb_dropout 0.1, token_dropout_prob 0.1)images [ torch.randn(3, 128, 256), torch.randn(3, 128, 256), torch.randn(3, 128, 256), torch.randn(3, 256, 128), torch.randn(3, 128, 256), torch.randn(3, 128, 256), torch.randn(3, 64, 256), torch.randn(3, 128, 256), torch.randn(3, 64, 256), torch.randn(3, 128, 256), torch.randn(3, 128, 256), torch.randn(3, 128, 256), torch.randn(3, 128, 256), torch.randn(3, 128, 256), torch.randn(3, 64, 256), torch.randn(3, 128, 256), torch.randn(3, 64, 256), torch.randn(3, 128, 256),]preds v(images, group_imagesTrue, group_max_seq_len256)图片的尺寸可以不一致。3.2 序列打包if group_images: batched_images group_images_by_max_seq_len( batched_images, patch_size self.patch_size, calc_token_dropout self.calc_token_dropout, max_seq_len group_max_seq_len )函数group_images_by_max_seq_len的实现逻辑是固定序列最大token长度逐步往序列中添加图像若当前图像加到序列中序列超长则新加一条序列代码详见def group_images_by_max_seq_len( images: List[Tensor], patch_size: int, calc_token_dropout None, max_seq_len 2048) - List[List[Tensor]]: calc_token_dropout default(calc_token_dropout, always(0.)) groups [] group [] seq_len 0 if isinstance(calc_token_dropout, (float, int)): calc_token_dropout always(calc_token_dropout) for image in images: assert isinstance(image, Tensor) image_dims image.shape[-2:] ph, pw map(lambda t: t // patch_size, image_dims) image_seq_len (ph * pw) image_seq_len int(image_seq_len * (1 - calc_token_dropout(*image_dims))) assert image_seq_len max_seq_len, fimage with dimensions {image_dims} exceeds maximum sequence length if (seq_len image_seq_len) max_seq_len: groups.append(group) group [] seq_len 0 group.append(image) seq_len image_seq_len if len(group) 0: groups.append(group) return groups我们可能会问“2. 数据输入流”里先做patchify再做序列打包实现咋是先做序列打包呢可以仔细看看group_images_by_max_seq_len实现逻辑ph, pw map(lambda t: t // patch_size, image_dims)计算打包后的token长度相当于先实现了patchify。3.3 token dropnum_images [] batched_sequences [] batched_positions [] batched_image_ids [] for images in batched_images: num_images.append(len(images)) sequences [] positions [] image_ids torch.empty((0,), device device, dtype torch.long) for image_id, image in enumerate(images): assert image.ndim 3and image.shape[0] c image_dims image.shape[-2:] assert all([divisible_by(dim, p) for dim in image_dims]), fheight and width {image_dims} of images must be divisible by patch size {p} ph, pw map(lambda dim: dim // p, image_dims) pos torch.stack(torch.meshgrid(( arange(ph), arange(pw) ), indexing ij), dim -1) pos rearrange(pos, h w c - (h w) c) seq rearrange(image, c (h p1) (w p2) - (h w) (c p1 p2), p1 p, p2 p) seq_len seq.shape[-2] if has_token_dropout: token_dropout self.calc_token_dropout(*image_dims) num_keep max(1, int(seq_len * (1 - token_dropout))) keep_indices torch.randn((seq_len,), device device).topk(num_keep, dim -1).indices seq seq[keep_indices] pos pos[keep_indices] image_ids F.pad(image_ids, (0, seq.shape[-2]), value image_id) sequences.append(seq) positions.append(pos) batched_image_ids.append(image_ids) batched_sequences.append(torch.cat(sequences, dim 0)) batched_positions.append(torch.cat(positions, dim 0))其中if has_token_dropout: token_dropout self.calc_token_dropout(*image_dims) num_keep max(1, int(seq_len * (1 - token_dropout))) keep_indices torch.randn((seq_len,), device device).topk(num_keep, dim -1).indices seq seq[keep_indices] pos pos[keep_indices]实现了token drop。3.4 计算attention掩码矩阵lengths torch.tensor([seq.shape[-2] for seq in batched_sequences], device device, dtype torch.long) max_length arange(lengths.amax().item()) key_pad_mask rearrange(lengths, b - b 1) rearrange(max_length, n - 1 n) batched_image_ids pad_sequence(batched_image_ids) attn_mask rearrange(batched_image_ids, b i - b 1 i 1) rearrange(batched_image_ids, b j - b 1 1 j) attn_mask attn_mask rearrange(key_pad_mask, b j - b 1 1 j)key_pad_mask位置索引 序列长度为padding部分不能交互attn_mask只有当两个位置属于同一图像才能做attention交互两者取attn_mask表示只有当两个位置属于同一图像image_id相同且不是填充位置时才能交互3.5 patchifypatches pad_sequence(batched_sequences) patch_positions pad_sequence(batched_positions) #need to know how many images for final attention pooling num_images torch.tensor(num_images, device device, dtype torch.long) #to patches x self.to_patch_embedding(patches)3.6 因式分解的2D位置编码#factorized 2d absolute positional embedding h_indices, w_indices patch_positions.unbind(dim -1) h_pos self.pos_embed_height[h_indices] w_pos self.pos_embed_width[w_indices] x x h_pos w_pos3.7 attention 前向计算#embed dropout x self.dropout(x) #attention x self.transformer(x, attn_mask attn_mask)3.8 池化层的掩码操作#do attention pooling at the end max_queries num_images.amax().item() queries repeat(self.attn_pool_queries, d - b n d, n max_queries, b x.shape[0]) #attention pool mask image_id_arange arange(max_queries) attn_pool_mask rearrange(image_id_arange, i - i 1) rearrange(batched_image_ids, b j - b 1 j) attn_pool_mask attn_pool_mask rearrange(key_pad_mask, b j - b 1 j) attn_pool_mask rearrange(attn_pool_mask, b i j - b 1 i j) #attention pool x self.attn_pool(queries, context x, attn_mask attn_pool_mask) queries x rearrange(x, b n d - (b n) d)比较有意思的是NaViT的池化层利用attention实现。query是learned embeddingkey和value是“3.6 attention 前向计算”输出的隐层向量。借助attention内在的掩码机制兼容序列包含不同数量图片的情况。query维度从d维变换至b x n x d维b、n、d分别表示序列个数、单个序列中图像数量上限、隐层嵌入维度。这里的掩码机制和“3.3 计算attention掩码矩阵”基本一致。3.9 去除pooling部分的嵌入向量is_images image_id_arange rearrange(num_images, b - b 1) is_images rearrange(is_images, b n - (b n)) x x[is_images]is_images记录查询i是否在当前序列的有效图像数量范围内3.10 分类headx self.to_latent(x) return self.mlp_head(x)最后接分类head输出预测概率logits。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。天道酬勤你越努力就会成为越优秀的自己。如果你能在15天内完成所有的任务那你堪称天才。然而如果你能完成 60-70% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

免费购物网站模板动漫设计与制作属于什么专业大类

深入cp2102驱动日志:从异常现象到精准排障的实战指南你有没有遇到过这样的场景?手里的开发板明明插上了USB转串口模块,电脑却“装作看不见”;或者刚连上不到两秒,COM口就自动消失了。打开串口助手想烧个固件&#xff0…

张小明 2026/1/9 3:15:33 网站建设

北京天润建设工程有限公司网站php做网站示例

项目整体介绍基于SpringBoot的建金粮食供应链管理系统,直击粮食产业“产销对接不畅、库存管理粗放、质量溯源断层”的核心痛点,依托SpringBoot的高可靠性与分布式处理能力,构建“全链路协同精准管控溯源可查”的一体化供应链平台。传统模式下…

张小明 2026/1/9 6:54:12 网站建设

购物网站 后台企业通过网络推广成功的案例

Excalidraw LDAP用户目录对接实践 在企业协作工具日益普及的今天,如何在保障数据安全的前提下实现高效的团队协同,成为技术管理者面临的核心挑战之一。尤其对于重视数据主权与合规性的组织而言,直接使用公有云白板服务往往存在风险。Excalidr…

张小明 2026/1/9 11:05:47 网站建设

珠海网站定制wordpress如何改成中文字体

3分钟搞定网易云音乐NCM文件格式转换终极指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 还在为网易云音乐下载的歌曲无法在其他设备播放而困扰吗&#xf…

张小明 2026/1/9 3:15:38 网站建设

《网站平台建设》课程实训专业做灯具的网站

9 个课堂汇报 AI 工具,本科生降重查重推荐 深夜的台灯下,论文还在“挣扎” 对于本科生来说,写论文、做文献综述、完成课堂汇报,几乎是每个学期最让人头疼的任务之一。从选题到开题,从资料收集到内容撰写,每…

张小明 2026/1/9 3:38:32 网站建设

最好的网站建设公司有哪些外贸seo站

在机械加工的流水线旁、化工生产的车间里,工程师们最头疼的莫过于通讯链路掉链子——尤其是Ethercat主站与Devicenet协议继电器的适配难题,往往一点小故障就可能引发生产线停机,既耗工时又损效益。此前接触过某化工企业的项目,其反…

张小明 2026/1/9 3:15:38 网站建设