WDK_学习笔记_区块链+ViT和Swin transformer

2023-11-15

摘要

项目:看了很多区块链资料,大楷知道了一个基于超级账本的区块链项目是如何实现的。

  1. 编写区块链网络配置,如证书文件,组织个数,每个组织分别有多少用户,组织间进行通信的域名,共识机制等;
  2. 启动区块链网络,编写链码,安装链码,链码是执行账本逻辑操作的最底层,如增删查改都是通过链码实现的;
  3. 安装好链码后,通过SDK包,调用链码,给链码发送信息,链码根据该信息执行指定操作;
  4. 用go作为后端开发语言的话,可以用gin框架,搭建路由服务,和前端进行交互,接受前端的消息,调用指定的SDK包,向区块链中插入或查询数据,再将数据返回给前端。

深度学习:学习了ViM和Swin,两者都是基于transformer改进的模型,ViM是第一个比较成熟的让Transformer从NLP领域走向CV领域的模型,当数据量比较大时,ViM表现优于传统的CNN模型,但数据量较小时,效果不佳,Swin是基于ViM改进的模型,Swin是一个已经成熟的将Transformer应用于CV的模型,表现完全优于CNN,刷榜了各个CV比赛,作者希望将Swin作为一个通用的模型,正在研究如何将Swin应用于NLP领域。
论文:无
毕业设计:学弟正在进行应用开发


一、項目:Hyperledger-fabric技术的深入学习

重要参考资料官方开发文档

1.1 安装-2.2.0(只记录问题,其余按文档操作即可)

通过查阅资料得知,以前安装的1.2.0版本过旧,参考资料缺失严重,而2.2.0是稳定版,官方提供了中文开发文档,并且和现有的开发软件包go-sdk适配,故选择更新。

  1. 问题1:执行在这里插入图片描述
    出现443错误,原因是国外DNS服务器无法帮助我们完成域名解析,可参考问题1解决办法解决问题;
  2. 问题2:运行测试网络命令.network.sh up测试fabric网络环境是否能跑通时出现"networks.test value Additional properties are not allowed (‘name’ was unexpected)",错误原因是docker-compose版本过低,可参考问题2解决办法
  3. 问题3:按照官网开发文档部署链码时出错,原因是缺少相关依赖,可参考视频10:41解决。

二、深度学习:Version Transformer(ViT)和Swin Transformer

重要参考资料b站视频ViTb站视频Swin

2.1 ViT

2.1 模型架构图

Transformer原模型是用来处理NLP任务的,若用来处理图片,则需要将图片转换为embedding,如何将图片转换为emdedding的同时保留图片上的空间位置信息,这是需要解决的问题,ViT是如何处理该问题的呢?

  1. ViT将一张输入图片,分割成多个patch;
  2. 将所有patch拉平得到embedding,此时每个patch的embedding对应NLP中的一个词向量,再将该embedding经过一个线性层处理投映到对应空间;
  3. 加入位置编码信息;
  4. 经过Transformer Encoder;
  5. 经过MLP head层,得到最终结果。
    在这里插入图片描述

2.2 图片切分为patch

为了解决将图像转换为embedding作为transformer输入的问题,故将图片切分为多个小patch,一张图片就是由这些patch组成;此时一张图片对应NLP任务中的一句话,一个patch就像构成这句话的一个词。
在这里插入图片描述

2.3 Patch转换为embedding

将每个batch拉平,变成一维向量,再经过线性层,投映到我们设置的维度;

2.4 加入位置编码

2.4.1 做法

加入位置信息的方式有两种,一种是加入绝对位置信息,另一种是加入相对位置信息,在ViT中是加入绝对位置信息,如何做?加入绝对位置信息的编码方式有两种,1、一维的位置编码; 2、二维的位置编码,如下图:
在这里插入图片描述
然后用得到的位置编码和和2.3得到的embedding相加,得到最终输入transformer的输入。

2.4.2 讨论

直觉上看,二维的位置编码信息应当更准确,但作者做了实验,实验证明:用一维位置编码和二维的位置编码效果差不多(如下图);
在这里插入图片描述
出现该结果的原因可能是,作者用的是位置编码信息与embedding相加,该做法直觉上看,会导致一部分位置信息丧失和混乱,应当有更好的办法引入位置信息。

2.5 ViT中的Transformer

ViT中只用到了Transformer中Encoder的部分,并且做了改动,和原始的Transformer并不同,如下图。
在这里插入图片描述

2.6 整体流程梳理

在这里插入图片描述

2.2 Swin

Swin Transformer是对ViT的改进,改进之处主要有以下几点:

  1. 引入了patch merging,使得patch窗口在不断的变大,增加了感受野,如下图所示:
    在这里插入图片描述
  2. 将注意力机制放在patch内部,降低了模型复杂度,由 0 ( n 2 ) 0(n^2) 0(n2)变为 0 ( n ) 0(n) 0(n)
  3. 位置编码采用相对位置编码,在计算注意力的时候引入位置信息,计算公式如下:
    在这里插入图片描述
    其中B就是相对位置矩阵,B如何融入呢?如下图:
    在这里插入图片描述

总结

项目方面,已经找到了区块链开发的思路,未来几周会尝试去实现一下,深度学习方面,swin transformer效果强大,下周会去跑一下代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WDK_学习笔记_区块链+ViT和Swin transformer 的相关文章

  • 如何快速掌握代币经济学

    如何研究加密世界里的Token 先看一组数据 截至2022年 市面上大约有6000种加密货币 或者更多 这对投资者来说当然是一个很大的机会 然而 在2021年 投资者在Crypto项目遇到欺诈 损失的金额120亿美元 因此 到底如何去表及里
  • Vue工程利用HBuild X打包APP打开一片空白的解决方式

    Vue工程利用HBuild X打包成APP时有时会出现一片空白的情况 这是由于Vue工程打包出来的静态文件路径出现问题造成的 解决方式 在工程下创建vue config js文件 在文件中写入 module exports publicPa
  • CUB200-2011鸟类细粒度数据集训练集和测试集划分python代码

    CUB200 2011数据集介绍 该数据集由加州理工学院再2010年提出的细粒度数据集 也是目前细粒度分类识别研究的基准图像数据集 该数据集共有11788张鸟类图像 包含200类鸟类子类 其中训练数据集有5994张图像 测试集有5794张图
  • Steam账号查询VAC封禁信息

    可以通过SteamID 账号名称来查询 VAC封禁信息 相关网址 1 SteamCN信誉平台 2
  • 一般游戏的反外挂保护方案

    所谓知己知彼方能百战不殆 要想减少或避免外挂对游戏的侵害 必须从根本上知晓外挂的原理 及其常用的技术手段 从而在技术手段上对其进行封堵 一 外挂的分类 外挂一般的分为2类 脱机式 和 内挂式 脱机式外挂的定义 完全脱离官方发布的客户端程序
  • SonarQube使用笔记

    SonarQube使用笔记 简介 SonarQube是一个用于管理代码质量的开放平台 可以快速的定位代码中潜在的或者明显的错误 目前支持java C C C Python PL SQL Cobol JavaScrip Groovy等二十几种
  • 在Linux上搭建sqli-labs

    1 先进入root权限 sudo su 然后输入账号密码 2 开启mysql mysql uroot p 3 改密码 MariaDB none gt SET password for root localhost password root
  • Python实战小游戏飞机大战详解

    大家还记得微信版 经典飞机大战 嘛 今天做的这款 打飞机 小游戏 画面诙谐 精致 完全复刻经典微信飞机大战哦 完全复刻 怎么 大家不信嘛 那跟着小编一起来看看吧 正文 一 环境安装 本文是写的游戏代码 基于Pygame的源码项目 这里是自己
  • Windows环境下Redis安装与配置的两种方式

    安装和配置Redis Redis的安装有两种安装形式 一种是安装包式 另一种是压缩包 注意 windows没有32位的 所以32位机器的朋友考虑换一下机器 一 安装包式 1 windows环境下的redis需要去github上获取 http
  • CSWin Transformer: A General Vision Transformer Backbone with Cross-Shaped Windows

    CSWin Transformer A General Vision Transformer Backbone with Cross Shaped Windows 一 引言 二 方法实现 一 CSWin Transformer 二 体系结构

随机推荐

  • 检测SOTA!DEYO:YOLOv5+DETR成就地表最强目标检测器

    点击下方卡片 关注 自动驾驶之心 公众号 ADAS巨卷干货 即可获取 点击进入 自动驾驶之心 目标检测 技术交流群 后台回复 2D检测综述 获取鱼眼检测 实时检测 通用2D检测等近5年内所有综述 目标检测是计算机视觉中的一个重要课题 后处理
  • Python中的矩阵操作

    Numpy 通过观察Python的自有数据类型 我们可以发现Python原生并不提供多维数组的操作 那么为了处理矩阵 就需要使用第三方提供的相关的包 NumPy 是一个非常优秀的提供矩阵操作的包 NumPy的主要目标 就是提供多维数组 从而
  • html页面跳转的方法

    html页面跳转的方法 1 html中使用meta中跳转 通过meta可以设置跳转时间和页面 2 a标签直接跳转 a href http baidu com 百度一下 a 3 通过javascript中实现跳转 直接跳转window loc
  • python之微信公众号内容爬取一(亲测可用)

    import requests from lxml import etree headers User Agent Mozilla 5 0 Windows NT 10 0 Win64 x64 AppleWebKit 537 36 KHTML
  • 微信小程序实现数值监听(页面和组件属性)

    简介 目前文章主要介绍对页面属性值的监听以及组件属性值的监听 需要异页面监听数据 请跳转至另一个文章介绍 为什么需要监听属性值 当需要通过一个属性变化时候 需要计算相应的方法等 pc网站经常需要监听属性 那么小程序应该怎么去实现 实现方法
  • elementui的表格排序的组件之问题---条件改变样式消失

    这两天写了一个需求 就是当我改变时间的时候 排序功能消失 这我就想不是很简单吗 但是是我太单纯了 这个是一个后台 肯定会用到element的组件 然后果不其然用的就是element里面的表格排序组件 elementUI table 首先熟悉
  • 移动端适配方案

    总共的方法 1 通过媒体查询的方式 2 以天猫首页为代表的 flex 弹性布局 3 以淘宝首页为代表的 rem viewport缩放 4 rem 方式 1 基本知识点 物理像素 硬件上屏幕上横向和纵向有多少个像素点 逻辑像素dp 程序认为屏
  • KVM详解-WEB管理界面及安装win2016

    文章目录 KVM的简介 KVM简介 2 关于virtual machine manager的介绍 二 安装及环境的部署 1 安装时系统要求 3 安装KVM虚拟化软件 kvm部署 kvm安装 启动服务 验证安装结果 测试并验证安装结果 查看网
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 手机大厂必备测试技能-CTS 兼容测试

    01 何为CTS 相信小伙伴们都有用过各种款式的Android手机 如小米 魅族 华为 oppo vivo 虽然他们的页面长的都不太一样 比如小米的长这样 魅族的 oppo的 还有垂死挣扎的锤子 但是这些手机其实都是搭载的Android系统
  • linux运维笔记-初级部分内容

    本文出自 老男孩linux运维 博客 请务必保留此出处http oldboy blog 51cto com 2561410 476884 运维初级内容参考列表 一 学习方法篇 老男孩Linux实战运维笔记 学习方法系列 1 学好运维四要素
  • 微信小程序订阅消息

    HTTPS 调用 请求地址 POST https api weixin qq com cgi bin message subscribe send access token ACCESS TOKEN 消息订阅官方文档 https devel
  • Java获取当前时间的年月日时分秒方法

    相关内容 package com ob import java text ParseException import java text SimpleDateFormat import java util Calendar import j
  • 异地多活paxos实现:Multi-Master-Paxos-3

    Background 200行代码实现paxos kv 中介绍了一款非常简洁的分布式kv存储实现 它是基于 classic paxos 实现分布式一致性 在 paxos的直观解释 中我们提到 每次写入 也就是每个 paxos 实例需要2轮
  • .net 中间件的使用 Use,Run,Map,MapWhen,UseWhen

    net 中间件的使用 Use Run Map MapWhen UseWhen net 提供了几种添加自定义中间件的方法Use Run Map MapWhen UseWhen Use app Use async context next gt
  • 20210208-mmdetection模型转为tensorrt(trt)

    1 下载下载对应的的cuda 由于本机装的是10 1 所以下了个cuda 10 0 130 410 48 linux run 2 下载配置tensorrt 我下的是 TensorRT 7 0 0 11 配置如下 export TR PATH
  • 光纤通道速率查看_光纤好坏如何区分,OM1234多模光纤有何区别?

    1 OM1 颜色为橙色 核心尺寸 62 5um 数据速率 1GB 850nm 距离 高达300米 应用 短程网络 局域网 LAN 和专用网络 2 OM2 颜色为橙色 核心尺寸 50um 数据速率 1GB 850nm 距离 高达600米 通常
  • Linux中用root用户打开vscode

    先打开终端切换到root用户 su root 接着输入 sudo code user data dir vscode root
  • 对数器

    对数器的作用 对数器可以说是验证算法是否正确的一种方式 尤其是在笔试的时候 用贪心算法写出的程序 暂时无法用数学公式严格推导证明 只能通过大量的数据集验证算法的正确性 而大量的数据集当中要包括各种情况 各个方面都要考虑到 对我们自己来说 有
  • WDK_学习笔记_区块链+ViT和Swin transformer

    文章目录 摘要 一 項目 Hyperledger fabric技术的深入学习 1 1 安装 2 2 0 只记录问题 其余按文档操作即可 二 深度学习 Version Transformer ViT 和Swin Transformer 2 1