Python(PyTorch)硅光电倍增管和量化感知训练亚光子算法验证

news2024/12/25 23:45:13

🎯要点

🎯亚光子光神经网络矩阵计算 | 🎯光学扇入计算向量点积 | 🎯表征测量确定不同光子数量下计算准确度 | 🎯训练全连接多层感知器基准测试光神经网络算法数字识别 | 🎯物理验证光学设备设置 | 🎯使用多像素光子计数器作为光子探测器和光学能耗测量 | 🎯光学检测像素调整条件 | 🎯数学矩阵计算准确度

📜光学和散射用例

🍪语言内容分比

在这里插入图片描述
在这里插入图片描述

🍇PyTorch爱因斯坦矩阵矢量

在数学中,尤其是数学物理和微分几何中线性代数的使用,爱因斯坦符号(也称为爱因斯坦求和约定或爱因斯坦求和符号)是一种符号约定,它意味着对公式中的一组索引项求和,从而实现简洁。作为数学的一部分,它是里奇演算的符号子集。然而,它经常用于不区分正切和余切空间的物理应用中。它是由阿尔伯特·爱因斯坦于 1916 年引入物理学的。

根据约定,当索引变量在一项中出现两次且未另行定义时,则意味着该项对所有索引值的求和。因此,索引的范围可以在集合 { 1 , 2 , 3 } \{1,2,3\} {1,2,3} 上,
y = ∑ i = 1 3 c i x i = c 1 x 1 + c 2 x 2 + c 3 x 3 y=\sum_{i=1}^3 c_i x^i=c_1 x^1+c_2 x^2+c_3 x^3 y=i=13cixi=c1x1+c2x2+c3x3
简化为:
y = c i x i y=c_i x^i y=cixi

上面的索引不是指数,而是坐标、系数或基向量的索引。也就是说,在这种情况下, x 2 x^2 x2 应该被理解为 x x x 的第二个分量,而不是 x x x 的平方(这有时会导致歧义)。 x i x^i xi 中的上索引位置之所以如此,是因为索引在术语的上位置(上标)和下位置(下标)中出现一次。通常, ( x 1 x 2 x 3 ) \left(x^1 x^2 x^3\right) (x1x2x3) 相当于传统的 ( x y z ) (x y z) (xyz)

代码示例

使用爱因斯坦符号和 einsum 函数,我们只需使用一个函数就可以计算向量和矩阵:torch.einsum(equation, *operands)

让我们看一个简短的例子:

torch.einsum(‘ik, kj->ij’, X, Y)

此处是矩阵乘法。 i i i j j j是所谓的自由索引,k是求和索引。后者可以定义为发生求和的索引。如果我们将矩阵乘法想象为嵌套循环, i i i j j j 将是外部循环,k 循环将是求和循环:

转置:

import torch

X = torch.rand((4, 5))
Y = torch.rand((5, 2))
Z = torch.empty((4, 2))

for i in range(X.shape[0]):
    for j in range(Y.shape[1]):
        total = 0
        for k in range(X.shape[1]):
            total += X[i,k] * Y[k,j]
        Z[i,j] = total

其可能用于其他用途,但转置向量或矩阵似乎是最著名的用例。

求和:

import torch

X = torch.rand((2, 3))

a = torch.einsum('ij->', X)
torch.sum(X)

print(a) 

简单求和,我们不返回索引。输出是一个标量。或者,准确地说,是一个只有一个值的张量。

行和列求和:

import torch

X = torch.rand((2, 3))

a = torch.einsum('ij->i', X)
torch.sum(X, axis=1)

print(a)  

b = torch.einsum('ij->j', X)
torch.sum(X, axis=0)

print(b) 

逐元素乘法:

import torch

X = torch.rand((3, 2))
Y = torch.rand((3, 2))

A = torch.einsum('ij, ij->ij', X, Y)
torch.mul(X, Y)  # or X * Y

print(A)

点积:

import torch

v = torch.rand((3))
c = torch.rand((3))

a = torch.einsum('i, i->', v, c)
torch.dot(v, c)

print(a) 

外积:

import torch

v = torch.rand((3))
t = torch.rand((3))

A = torch.einsum('i, j->ij', v, t)
torch.outer(v, t)

print(A)

矩阵向量乘法

import torch

X = torch.rand((3, 3))
y = torch.rand((1, 3))

A = torch.einsum('ij, kj->ik', X, y)
torch.mm(X, torch.transpose(y, 0, 1))  # or torch.mm(X, y.T)

print(A)

矩阵矩阵乘法

import torch

X = torch.arange(6).reshape(2, 3)
Y = torch.arange(12).reshape(3, 4)

A = torch.einsum('ij, jk->ik', X, Y)
torch.mm(X, Y)

print(A)

批量矩阵乘法

import torch

X = torch.arange(24).reshape(2, 3, 4)
Y = torch.arange(40).reshape(2, 4, 5)

A = torch.einsum('ijk, ikl->ijl', X, Y)
torch.bmm(X, Y)

print(A)

👉参阅、更新:计算思维 | 亚图跨际

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2047746.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【闭包】闭包知识点总结

一、什么是闭包? ——官方解释: 一个函数对周围状态的引用捆绑在一起,内层函数中访问到其外层函数的作用域 ——简单解释: 👉 闭包内层函数可以引用的外层函数的变量 ——闭包优势 可以保护内部变量,不让外…

黑马前端——days11_综合案例

文章目录 一、首页1、页面开头2、快捷导航2.1 页面框架2.2 格式文件 3、头部模块3.1 页面框架3.2 格式文件 4、导航栏4.1 页面框架4.2 格式文件 5、页面主模块5.1 页面框架5.2 格式文件 6、推荐模块6.1 页面框架6.2 格式文件 7、楼层模块7.1 页面框架7.2 格式文件 8、页面底部8…

webrtc学习笔记2

音视频采集和播放 打开摄像头并将画面显示到页面 1. 初始化button、video控件 2. 绑定“打开摄像头”响应事件onOpenCamera 3. 如果要打开摄像头则点击 “打开摄像头”按钮,以触发onOpenCamera事件的调用 4. 当触发onOpenCamera调用时 a. 设置约束条件&#xff0c…

虚幻UE5安装报错误代码:SU-PQR5

找到图标的快捷方式 “Epic Games Launcher”右键属性,在目标最后添加-SkipBuildPatchPrereq,如下图: 最后,见证奇迹成功打开软件,可以继续安装啦。 参考资料: 【图片】求教各位大佬--错误代码SU-PQR5【ep…

Linux网络编程—socket、bind

一、socket创建套接字 socket是用来创建网络通信或本地通信的套接字&#xff0c;跟文件有关&#xff1a;告诉系统&#xff0c;PCB&#xff08;进程控制块&#xff09;控制的数据应该向哪个套接字写入、或读取&#xff1b;这个套接字是在TCP/IP协议下运行的 #include <sys/t…

配置MySQL主从,配置MySQL主主 +keeplive高可用

在大数据-Hadoop体系中 配置MySQL主主keeplive高可用 注意&#xff1a;这个是我两年前的word文档&#xff0c;可以当作参考文档有个思路参考一下&#xff0c;但是里面可能有些地方有误 另外 :关于一些企业级实战技术可以参考这篇mysql 物理备份 MySQL 全量备份 增量备份 差异…

NFTScan 正式上线 AI Search 浏览器,实现 NFT 数据双重搜索功能

近日&#xff0c;NFT 数据基础设施服务商 NFTScan 正式对外发布了 AI Search 浏览器&#xff0c;这一创新工具旨在为 NFT 生态中的开发者和用户提供简洁高效的 NFT 数据搜索与查询服务。NFTScan 的这一举措不仅帮助用户更方便地访问相关的 NFT 数据&#xff0c;还大幅提升了数据…

STM32F407ZGT6无操作系统移植lwip2.1.3,,具备DHCP功能

1.工程添加网络库文件 (1).拷贝文件夹 解压en.stsw-stm32070.zip压缩包,把STM32F4x7_ETH_LwIP_V1.1.1\Libraries\STM32F4x7_ETH_Driver文件夹下的inc和src文件夹拷贝到 STM32F407\FWLIB\STM32F4x7_ETH_Driver文件夹目录下&#xff1a; (2).重命名头文件 进入STM32F407\FWLI…

【TM1638不能成功读回按键值】

8led8按键8数码管。主函数调用TM1638_ReadData2&#xff0c;打印了返回值&#xff0c;无论是否按键&#xff0c;都一直打印255&#xff0c;为什么全是1&#xff0c;看来读数据函数有问题啊。 u8 TM1638_ReadData2(void) {uint8_t i;uint8_t temp0x00;TM1638_DIOModeInput();/…

前端读取response.headers异常:Cannot read properties of undefined (reading ‘split‘)

[TOC](前端读取response.headers异常:Cannot read properties of undefined (reading ‘split’) ) 前端读取response.headers异常 Cannot read properties of undefined (reading ‘split’) TypeError: Cannot read properties of undefined (reading ‘split’) 报错解释&a…

如何修改计算机ip地址?几招教你轻松改

在日常使用计算机的过程中&#xff0c;有时我们需要修改计算机的IP地址&#xff0c;无论是出于网络安全、网络管理还是其他特定需求。然而&#xff0c;对于非专业人士来说&#xff0c;这一过程可能显得复杂且充满挑战。但别担心&#xff0c;本文将带您了解IP地址基础知识&#…

day04 --js的常用对象、BOM对象和DOM对象

一、常用对象 1.1 数组 1.创建数组:let arr [1,2,3]; let arr new Array(1,2,3);注意&#xff1a;JS数组不区分数据类型&#xff0c;而且其长度可以随意改变&#xff0c;因此JS数组类似于Java中的集合 ​ 2.数组常用方法:length:这是一个属性&#xff0c;用于获取数组长度fo…

以「垂直模型」引领AIGC商业化落地,FancyTech的技术路径是什么?

我们正在见证又一轮技术革新&#xff0c;这一次是 AIGC 为个体提供表达自我的工具&#xff0c;让创作变得更加容易和普及&#xff0c;但背后的推动力却并不是「大」模型。 点击访问我的技术博客https://ai.weoknow.comhttps://ai.weoknow.com 两年以来&#xff0c;AIGC 技术的发…

快速备份与检索ChatGPT对话记录,以及便捷关闭聊天历史教程

近期&#xff0c;ChatGPT 用户遭遇了一系列对话记录意外丢失的事件&#xff0c;引发了广泛的关注和不便。用户们对于重要聊天记录的安全性表示担忧&#xff0c;害怕珍贵的交流内容会不翼而飞。 令人欣慰的是&#xff0c;OpenAI 在2023年4月11日宣布推出了一项新的功能——Chat…

雨云美国二区E5v2服务器测评(非广告)

注&#xff1a;本文非广告&#xff0c;非推广 本文长期更新地址&#xff1a; 雨云美国二区E5v2服务器测评&#xff08;非广告&#xff09;-星零岁的博客https://blog.0xwl.com/13594.html 今天来测评一下雨云美国二区v2服务器。我测试的这台配置是4-8&#xff0c; 35 M上传&a…

SpringBoot教程(二十三) | SpringBoot实现分布式定时任务之xxl-job

SpringBoot教程&#xff08;二十三&#xff09; | SpringBoot实现分布式定时任务之xxl-job 简介一、前置条件&#xff1a;需要搭建调度中心1、先下载调度中心源码2、修改配置文件3、启动项目4、进行访问5、打包部署&#xff08;上正式&#xff09; 二、SpringBoot集成Xxl-Job1.…

水利机械5G智能制造工厂物联数字孪生平台,推进制造业数字化转型

在当今这个科技日新月异的时代&#xff0c;水利机械行业正经历着一场深刻的变革&#xff0c;其中5G智能制造工厂物联数字孪生平台的引入&#xff0c;无疑是推动制造业数字化转型的重要驱动力。工业物联数字孪生平台是智能制造工厂的核心组成部分&#xff0c;它基于物理世界的真…

入门mysql 数据库

mysql是关系型数据库 &#xff08;安装教程请参考主页相关文章https://blog.csdn.net/2401_86120676/article/details/141265678?spm1001.2014.3001.5502 和mysql Ubuntu安装与远程连接配置-CSDN博客&#xff09; mysql相关指令 1.数据库 展示所有的数据库&#xff1a;sho…

基于神经网络逆同步控制方法的两变频调速电机控制系统matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 神经网络a阶逆系统 4.2 两电机的数学模型 4.3 两电机系统的神经网络逆同步控制 5.完整工程文件 1.课题概述 两电机变频调速系统是一个多输入多输出非线性强耦合的控制系统。本课题使用神经网络构造…

英伟达玩转剪枝、蒸馏:把Llama 3.1 8B参数减半,性能同尺寸更强

小模型崛起了。 上个月&#xff0c;Meta 发布了 Llama 3.1 系列模型&#xff0c;其中包括 Meta 迄今为止最大的 405B 模型&#xff0c;以及两个较小的模型&#xff0c;参数量分别为 700 亿和 80 亿。 Llama 3.1 被认为是引领了开源新时代。然而&#xff0c;新一代的模型虽然性能…