CV(7)--神经网络训练
前言
仅记录学习过程,有问题欢迎讨论
什么是神经网络:
- 神经网络是一种模拟人脑神经元工作原理的算法,它由多个神经元组成,每个神经元都接受输入,通过计算产生输出,并将输出传递给其他神经元。
- 神经网络的基本结构包括输入层、隐藏层和输出层。输入层接受外部输入,隐藏层对输入进行计算和转换,输出层产生最终的输出。神经网络中的神经元之间通过权重连接,权重决定了神经元之间的连接强度。
- 神经网络的学习过程是通过调整权重来实现的。在训练过程中,神经网络会根据输入数据和期望输出,计算误差,并使用梯度下降等优化算法来调整权重,以减少误差。经过多次迭代,学习到输入数据和输出数据之间的关系,从而实现分类、回归等任务
激活函数:引入了非线性的学习和处理的能力
swish:
-
在x为负值时,Swish函数输出的负值小于x本身,但不为0,这使得神经元保持一定的激活程度
-
在零点附近平滑过渡,没有明确的分界点,这有助于梯度的稳定传播
监督学习(有标注样本):
- 标准的神经网络(Neural Networt):预测房屋价格;是否点击广告
- 卷积神经网络(Convolutional NN):图像识别;
- 循环神经网络(Recurrent NN,序列时间线的数据):音频识别;语言翻译
- 混合神经网络:雷达;无人驾驶
无监督学习:
- 给予机器没有标注的信息,希望通过算法进行一定的分析,得到一些结论
- 常见任务:聚类、降维、找特征值
分布外数据(Out - of - Distribution,OOD):
原因:
- 数据收集偏差:如果在数据收集过程中只关注了特定类型的数据,那么其他类型的数据就会成为 OOD 数据。例如,在收集图像数据时,如果只收集了室内场景的图片,那么室外场景的图片对于这个模型来说就是 OOD 数据。
- 数据生成过程变化:当数据的生成机制发生变化时,也会产生 OOD 数据。例如,在时间序列数据中,经济环境的变化可能导致数据生成过程与之前不同,新的数据就可能是 OOD 数据
解决:
-
OOD 检测(Out - of - Distribution Detection):开发专门的方法来检测数据是否属于 OOD。例如,使用基于
密度估计(概率分布)、距离度量(K-means)或分类器的方法来判断数据是否超出了训练数据的分布范围。 -
模型适应(Model Adaptation):当发现 OOD 数据时,尝试对模型进行调整或重新训练,使其能够适应新的数据分布。例如,采用迁移学习或增量学习的方法,将已有模型的知识迁移到新的数据分布上,或者在新数据上逐步更新模型
前向和反向传播
通过前向传播,模型可以根据输入数据生成预测结果(forward),获取损失函数;
通过反向传播,可以计算模型的梯度信息(loss),从而进行参数优化。
- 沿着正向传播的路线反向走!反向传播过程中利用下一层存储的值以及梯度的分向量来更新上一层的w和b,极大的提高了梯度计算速度,从而更加有利于利用梯度进行随机梯度下降更新神经网络参数完成机器学习训练任务
- 先随机权重,计算loss,然后反向传播更新权重(通过就偏导知道该w对loss的影响,得出增大or缩小改w)
计算梯度的方法:
- 随机梯度下降:代表随机抽样部分数据代替整体(随机一个批次),减少计算量,通过不断沿着反梯度方向(向量拆分)更新参数求解。学习率代表下降的步子,批量随机梯度下降是默认求解方法.
- 缺点:收敛局部最小值;参数调整比较缓慢
- 牛顿法:(求导求极值,求出所有找最优,计算量大)优化下降路径
- 冲(动)量法:通过历史数据来修正每一次的梯度分量(有惯性),越远的影响越小,加权,减少震荡
- AdaGrad:学习率自适应改动,历史数据的学习率加权,速度比不过冲量法
- Adam:AdaGrad+动量法!
过拟合:
对于测试集的效果差,泛化能力差;可能训练数据带有噪音,或者参数过多导致模型复杂度高
解决办法:减少特征,清洗数据,更多训练样本,dropout,正则化
训练过程:
先随机权重,计算loss,然后反向传播更新权重(通过求偏导知道该w对loss的影响,得出增大or缩小改w)
Keras:
Keras是由纯python编写的基于theano/tensorflow的深度学习框架。
Keras是一个高层神经网络API,支持
a)简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)
b)支持CNN和RNN,或二者的结合
c)无缝CPU和GPU切换
手动实现一个神经网络
"""
work-从零训练一个简单的 识别图片数字的模型
"""
import numpy# 加载数据 返回图片数组和对应label数组
def load_data_set(file_name):label = []img_data = []# 加载图片csvdata_file = open(file_name)data_list = data_file.readlines()data_file.close()# data_list[0]是第一张图片,data_list[0].split(',')是按照','分割的字符串for data in data_list:# 第一个值对应的是图片的表示的数字,所以我们读取图片数据时要去掉第一个数值all_values = data.split(',')image_array = numpy.asfarray(all_values[1:]).reshape((28, 28))img_data.append(image_array)label.append(all_values[0])return img_data, label# 建立模型结构
class NeuralNetWork:def __init__(self,input_nodes, hidden_nodes, output_nodes,lr):self.input_nodes = input_nodesself.hidden_nodes = hidden_nodesself.output_nodes = output_nodesself.lr = lr# 初始化权重self.wih = numpy.random.normal(0.0, pow(self.hidden_nodes, -0.5), (self.hidden_nodes, self.input_nodes))self.who = numpy.random.normal(0.0, pow(self.output_nodes, -0.5), (self.output_nodes, self.hidden_nodes))# 定义sigmoid 激活函数self.activation_function = lambda x: 1 / (1 + numpy.exp(-x))def train(self, inputs_list, targets_list):# 数据需要转换为 二维数组inputs = numpy.array(inputs_list, ndmin=2).Ttargets = numpy.array(targets_list, ndmin=2).T# 前向传播hidden_inputs = numpy.dot(self.wih, inputs)hidden_outputs = self.activation_function(hidden_inputs)final_inputs = numpy.dot(self.who, hidden_outputs)final_outputs = self.activation_function(final_inputs)# 反向传播# 计算lossoutput_loss = targets - final_outputshidden_errors = numpy.dot(self.who.T, output_loss * final_outputs * (1 - final_outputs))self.who += self.lr * numpy.dot((output_loss * final_outputs * (1.0 - final_outputs)), numpy.transpose(hidden_outputs))self.wih += self.lr * numpy.dot((hidden_errors * hidden_outputs * (1.0 - hidden_outputs)), numpy.transpose(inputs))# 预测def query(self, inputs_list):inputs = numpy.array(inputs_list, ndmin=2).Thidden_inputs = numpy.dot(self.wih, inputs)hidden_outputs = self.activation_function(hidden_inputs)final_inputs = numpy.dot(self.who, hidden_outputs)final_outputs = self.activation_function(final_inputs)return final_outputs# 测试模型效果
def predict(network):print("开始预测")img_data, true_label = load_data_set("dataset/mnist_test.csv")scores = []for i in range(len(img_data)):inputs = img_data[i]# 将图像数据从0-255的整数范围归一化到0.02-1.00的浮点数范围,以便更好地用于机器学习模型的训练和预测。、# 归一化处理可以加快模型的收敛速度,提高模型的性能inputs = (numpy.asfarray(inputs.reshape(-1))) / 255.0 * 0.99 + 0.01# 初始化one-hottargets = [0.01] * 10targets[int(true_label[i])] = 0.99outputs = network.query(inputs)# 找到数值最大的神经元对应的 编号label = numpy.argmax(outputs)print("predict is : ", label)print("true is : ", true_label[i])# print("网络认为图片的数字是:", label)if label == int(true_label[i]):scores.append(1)else:scores.append(0)# 计算图片判断的成功率scores_array = numpy.asarray(scores)print("perfermance = ", scores_array.sum() / scores_array.size)def main():img_data, label = load_data_set("dataset/mnist_train.csv")# 定义超参数input_nodes = 784hidden_nodes = 200output_nodes = 10learning_rate = 0.01epochs = 5# 建立模型network = NeuralNetWork(input_nodes, hidden_nodes, output_nodes, learning_rate)for epoch in range(epochs):for i in range(len(img_data)):inputs = img_data[i]# 将图像数据从0-255的整数范围归一化到0.02-1.00的浮点数范围,以便更好地用于机器学习模型的训练和预测。、# 归一化处理可以加快模型的收敛速度,提高模型的性能inputs = (numpy.asfarray(inputs.reshape(-1))) / 255.0 * 0.99 + 0.01# 初始化one-hottargets = [0.01] * 10targets[int(label[i])] = 0.99network.train(inputs, targets)print("训练完成")predict(network)if __name__ == '__main__':main()
相关文章:
CV(7)--神经网络训练
前言 仅记录学习过程,有问题欢迎讨论 什么是神经网络: 神经网络是一种模拟人脑神经元工作原理的算法,它由多个神经元组成,每个神经元都接受输入,通过计算产生输出,并将输出传递给其他神经元。神经网络的…...
git更改当前项目的远程仓库,保留原始仓库提交记录提交到新仓库
在开发过程中,有时需要将当前项目的远程仓库切换到另一个新的远程仓库,同时保留所有原始的提交记录。以下是详细的步骤和最佳实践,确保你能够顺利完成这一操作。 更改当前项目的远程仓库 1.查看当前的远程仓库 确认当前项目的远程仓库地址。…...
【产品应用】一体化无刷电机在旋转等离子喷枪中的应用
在现代工业制造与加工领域,等离子喷枪凭借其高温、高速的等离子射流,能够实现高效的材料表面处理、切割以及焊接等工艺,在众多行业中发挥着关键作用。而一体化无刷电机的应用,更是为等离子喷枪的性能提升和稳定运行注入了强大动力…...
docker django uwsgi 报错记录
这个配置中是能够正常进行网页访问的,能够查看网页 [uwsgi] chdir /home/luichun/lc/Pyfile/PyCursor/app module app.wsgi:application plugin-dir /usr/lib/uwsgi/plugins plugins python311 env TZAsia/Shanghai socket-timeout 60 websocket-ma…...
【自由能系列(初级),论文解读】神经网络中,熵代表系统的不确定性,自由能则引导系统向更低能量的状态演化,而动力学则描述了系统状态随时间的变化。
神经网络中的熵、自由能与动力学 核心结论: 神经网络在“学习”和“成长”过程中,熵、自由能以及动力学扮演着关键角色。 熵代表系统的不确定性,自由能则引导系统向更低能量的状态演化,而动力学则描述了系统状态随时间的变化。 这…...
云计算时代携程的网络架构变迁
大家觉得有意义和帮助记得及时关注和点赞!!! 前言0 携程云平台简介 网络演进时间线1 基于 VLAN 的二层网络 1.1 需求1.2 解决方案:OpenStack Provider Network 模型1.3 硬件网络拓扑1.4 宿主机内部网络拓扑1.5 小结 优点缺点2 基于 SDN 的大二层网络 2.1 面临的新问…...
uniapp 微信小程序 数据空白展示组件
效果图 html <template><view class"nodata"><view class""><image class"nodataimg":src"$publicfun.locaAndHttp()?localUrl:$publicfun.httpUrlImg(httUrl)"mode"aspectFit"></image>&l…...
java 线程池为什么设计成先进队列再创建最大线程为何先入队列再增加线程数?
java 线程池为什么设计成先进队列再创建最大线程为何先入队列再增加线程数? 这个设计与 线程池的性能优化 、资源利用和任务调度策略密切相关。要理解为什么线程池设计成“ 先将任务入队列,再创建最大线程数 ”,可以从以下几个方面进行分析&…...
我的Qt作品(20)使用Qt+OpenCV写一个旋转/抠图/mask生成工具
使用QtOpenCV写一个旋转/抠图/mask生成工具 1、旋转功能 void FormRotate::rotateImage(const cv::Mat &src, cv::Mat &dst, double degree) //旋转 {if (fabs(degree) < 0.001){dst src;return;}//center旋转的中心点坐标//degree旋转的角度,不是弧度,>0逆时针…...
【vue】vite + ts +vue3 安装及使用 pinia
vue3 TS 安装使用pinia状态管理_vue3 ts pinia-CSDN博客 Vue项目进阶:再谈Pinia函数式(composition API)用法-腾讯云开发者社区-腾讯云...
计算机网络 (10)网络层
前言 计算机网络中的网络层(Network Layer)是OSI(开放系统互连)模型中的第三层,也是TCP/IP模型中的第二层,它位于数据链路层和传输层之间。网络层的主要任务是负责数据包从源主机到目的主机的路径选择和数据…...
1085 PAT单位排行
每次 PAT 考试结束后,考试中心都会发布一个考生单位排行榜。本题就请你实现这个功能。 输入格式: 输入第一行给出一个正整数 N(≤105),即考生人数。随后 N 行,每行按下列格式给出一个考生的信息ÿ…...
知识库1: 什么是知识库?
知识库(Knowledge Base, KB)是一个存储和组织知识的信息系统或数据集合,用于保存、管理和访问结构化或非结构化的信息。它的目的是帮助人们快速获取所需的知识、解答问题或支持决策。知识库可以被广泛应用于技术支持、教育、研究以及智能系统…...
[SAP ABAP] 程序备份
备份当前程序到本地的方式如下: 1.复制粘贴 Ctrl A 、Ctrl V 2.【实用程序】|【更多实用程序】|【上载/下载】|【下载】 3.快捷键,支持多种格式导出(.abap .html .pdf 等) 在事务码SE38(ABAP编辑器)屏幕右下角,点击【Options选项】图…...
SpringBoot 自动装配原理及源码解析
目录 一、引言 二、什么是 Spring Boot 的自动装配 三、自动装配的核心注解解析 3.1 SpringBootApplication 注解 (1)SpringBootConfiguration: (2)EnableAutoConfiguration: (3…...
【专题】2024年悦己生活消费洞察报告汇总PDF洞察(附原数据表)
原文链接: https://tecdat.cn/?p38654 在当今时代背景下,社会发展日新月异,人们的生活方式与消费观念正经历深刻变革。MoonFox 月狐数据的《2024 年悦己生活消费洞察报告》聚焦于这一充满活力与变化的消费领域。随着就业、婚姻等社会压力的…...
empire靶机
打开靶机 我们先查看页面源代码,发现什么也没有 再去用nmap扫描 nmap -sV -p- 192.168.95.144 发现也没什么用 我们在用dirb扫一下 dirb http://192.168.95.144 我们发现了robots.txt并且响应码是200,去访问一下 又得到了一个目录,去访问…...
uniapp 判断多选、选中取消选中的逻辑处理
一、效果展示 二、代码 1.父组件: :id=“this.id” : 给子组件传递参数【id】 @callParentMethod=“takeIndexFun” :给子组件传递方法,这样可以在子组件直接调用父组件的方法 <view @click="$refs.member.open()"...
arthas查看拼接好参数的sql, redis, es完整可直接执行的命令
arthas查看拼接好参数的sql, redis, es完整可直接执行的命令 arthas查看sql可执行命令arthas查看redis可执行命令arthas查看es可执行命令相关链接 经常修bug的时候, 拿不到能够执行的命令, 真是太难受了 arthas查看sql可执行命令 # mybatis plus (参数和sql分离了) watch org.…...
Flamingo:少样本多模态大模型
Flamingo:少样本多模态大模型 论文大纲理解1. 确认目标2. 分析过程(目标-手段分析)3. 实现步骤4. 效果展示5. 金手指 解法拆解全流程核心模式提问Flamingo为什么选择使用"固定数量的64个视觉tokens"这个特定数字?这个数字的选择背…...
nacos-gateway动态路由
在Nacos官网中给出了手动监听Nacos配置变更的SDK: Nacos Java SDK 所需依赖 <!--统一配置管理--> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <…...
Kotlin 协程基础知识总结二 —— 启动与取消
协程启动与取消的主要内容: 启动协程:启动构建器、启动模式、作用域构建器、Job 生命周期取消协程:协程的取消、CPU 密集型任务取消、协程取消的副作用、超时任务 1、协程构建器 (P20)launch 与 aysnc 两种协程构建…...
【漏洞复现】Struts2(CVE-2024-53677)任意文件上传逻辑绕过漏洞
文章目录 前言一、漏洞描述二、漏洞详情三、影响版本四、危害描述五、漏洞分析六、漏洞复现七、修复建议前言 Struts2框架是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Java Servlet API,鼓励开发者采用MVC架构。Struts2以WebWork优秀的设…...
使用 IDE生成 Java Doc
使用步骤 Android Studio界面->Tools->Generate JavaDoc zh-CN -encoding UTF-8 -charset UTF-8 -classpath “C:\Users\fangjian\AppData\Local\Android\Sdk\platforms\android-34\android.jar” 报错问题 错误: 目标 17 不允许选项 --boot-class-path 如果你正在使用…...
AWS、Google Cloud Platform (GCP)、Microsoft Azure、Linode和 桔子数据 的 价格对比
要对比 AWS、Google Cloud Platform (GCP)、Microsoft Azure、Linode 和 桔子数据 的 价格,我们需要先了解每个平台的定价模型、服务类型以及不同服务之间的价格差异。以下是根据各个平台常见服务(如计算实例、存储、数据传输等)做的一个 简化…...
【C++篇】AVL树的实现
前言 本篇是基于二叉搜索树写的,详情可以去看上篇【二叉搜索树】 一,AVL树的概念 (1),AVL树是一颗二叉搜索树,它是一棵空树或者是具备以下性质的二叉搜索树:它的左右子树都是AVL树ÿ…...
VIVO Android面试题及参考答案
请重写算法题:求数组的全排列。 思路: 要获取一个数组的全排列,我们可以利用回溯算法。具体来说,回溯算法通过递归的方式逐步生成排列,在每一步都将一个元素加入排列中,然后在下一步递归中排除已选元素,回溯的时候撤销选择,尝试其他可能。 步骤: 递归生成排列: 使…...
联邦大模型微调
微调(Fine-tuning)是一种迁移学习的技术,用于在一个已经预训练好的模型基础上,通过进一步训练来适应特定的任务或数据集。微调可以在具有相似特征的任务之间共享知识,从而加快训练速度并提高模型性能。 微调步骤&…...
DigitalOcean Kubernetes现已支持VPC natvie集群
DigitalOcean Kubernetes (DOKS)的VPC natvie集群功能现已正式上线!这一新功能实现了DOKS集群与虚拟私有云(VPC)资源之间的无缝集成,提升了工作负载的网络灵活性和可扩展性。 什么是VPC natvie 集群? VPC natvie 集群支…...
【每日学点鸿蒙知识】H5与C++通讯、动态参数化配置、ArkTS调用JS、Json对象转换、showToast在多次调用问题
1、HarmonyOS h5页面和C如何进行双向通讯? 前的规格是H5只能和ArkTS通讯,ArkTS通过NDK接口与C通讯,只有网络拦截有C接口。参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/_web-V5 2、HarmonyO…...
ZC706开发板教程:使用SD卡启动工具烧写flash
在使用开发板的过程中,常常需要通过 Flash 模式启动。然而,使用 JTAG 模式在线烧写 flash 的过程既繁琐又耗时,许多用户对此表示困扰。本期将为您提供解决方案,以简化这一流程。 我们分析正常的flash烧写过程,就是通过…...
问题-01
Mybatis比较失效问题 1、问题复现 whetherPromoterNull是字符串类型,0使用单引号包裹,进行比较时发现不起作用 <if test"whetherPromoterNull ! null and whetherPromoterNull.trim() 0"> and sui.share_user_id is not null</if&g…...
内容营销专家刘鑫炜:误区四,目标不明,营销如同“盲头苍蝇”?
我们经常会遇到这样的客户,稿件提交过来后,一会儿说要发这个媒体,不一会儿又要发那个媒体,而且这两个媒体根本没有关联性,这时候,我们都会问客户,你推广这篇稿件的目的是什么,是为了…...
java基础1:处理Map
一、适用场景:相对Map排序,想获取其中最大或最小值。 1、获取map集合里,获取 max(value)对应的key 1)、方式1 Testpublic void MapInnerMaxValue() {HashMap<String, Integer> hashMap new HashMap<>();hashMap.put("a&q…...
企业销售人员培训系统|Java|SSM|VUE| 前后端分离
【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…...
设计模式-责任链模式
一、简介 责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,用于将请求的发送者与接收者解耦,使多个处理对象都有机会处理该请求。这些处理对象通过形成一条链式结构依次处理请求,直到某个对象能够完…...
04、Spring MVC
Spring MVC是Spring的Web模块,用来开发Web应用的,它最终作为B/S、C/S模式下的Server端 Web应用的核心就是处理HTTP请求并响应。 一、关于两种开发模式说明 我们使用Spring MVC有两个开发模式 前后分离(数据与页面分离) @ResponseBody@RestController其涉及的生要机制是:…...
K8S 黑魔法之如何从 Pod 拿到节点的命令行
搞 K8S 运维的时候,偶尔会遇到一个难题,定位到问题出在某个节点上,而由于权限审批,错误配置等等各种原因,没有办法拿到节点的 SSH 权限,无法进入节点命令行进一步排障。 这个时候,就可以用这个…...
谷歌用Anthropic的Claude帮Gemini“打磨”性能
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
React性能优化:构建更高效的应用
在现代前端开发中,React已经成为构建复杂、交互频繁应用的首选框架。然而,随着应用规模的扩大和功能的丰富,组件的频繁重渲染可能会成为性能瓶颈,影响用户体验。为了提升React应用的性能,开发者需要掌握一系列性能优化技巧和工具。本文将详细介绍React性能优化的各个方面,…...
Linux从0到1——线程同步和互斥【互斥量/条件变量/信号量/PC模型】
Linux从0到1——线程同步和互斥 1. Linux线程互斥1.1 问题引入1.2 互斥相关概念1.3 多执行流并发访问公共资源的数据不一致问题1.4 互斥量(锁)1.5 改进抢票系统1.6 锁的简单封装1.7 锁的实现原理1.8 可重入VS线程安全1.9 死锁 2. Linux线程同步2.1 理解同…...
无人机驾驶证对入伍有帮助吗?
无人机驾驶证对入伍确实有一定的帮助,主要体现在以下几个方面: 一、提升专业技能 无人机操作是一项高度专业化的技能,需要掌握飞行原理、航电系统、任务规划、紧急处理等多方面的知识。通过考取无人机驾驶证,个人可以系统地学习这…...
【贪心算法】贪心算法七
贪心算法七 1.整数替换2.俄罗斯套娃信封问题3.可被三整除的最大和4.距离相等的条形码5.重构字符串 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励,我们一起努力吧!😃…...
MySQL 锁概述
1.锁的分类 根据不同的分类角度可将锁分为: 按是否共享分:S 锁、X 锁按粒度分:表级锁、行级锁、全局锁(锁整个库)、页锁(锁数据页)意向锁:意向 S 锁、意向 X 锁:都是表…...
springboot502基于WEB的牙科诊所管理系统(论文+源码)_kaic
牙科诊所管理系统的设计与实现 摘要 近年来,信息化管理行业的不断兴起,使得人们的日常生活越来越离不开计算机和互联网技术。首先,根据收集到的用户需求分析,对设计系统有一个初步的认识与了解,确定牙科诊所管理系统的…...
overleaf中出现TeX capacity exceeded PDF object stream buffer=5000000的原因和解决方案
在插入pdf 配图后,编译出错提示信息如图,很可能的一个原因是pdf文件大小太大了,最好压缩一下,压缩到1MB以内。...
LabVIEW神经肌肉电刺激与记录系统
神经肌肉电刺激技术在康复医学和神经科学领域占有重要地位。基于LabVIEW开发了神经肌肉电刺激与记录系统,该系统具备可控电脉冲输出与高效数据采集功能,适用于临床和科研领域。 项目背景 神经肌肉电刺激技术用于治疗各类神经和肌肉系统疾病,…...
【CSS in Depth 2 精译_096】16.4:CSS 中的三维变换 + 16.5:本章小结
当前内容所在位置(可进入专栏查看其他译好的章节内容) 第五部分 添加动效 ✔️【第 16 章 变换】 ✔️ 16.1 旋转、平移、缩放与倾斜 16.1.1 变换原点的更改16.1.2 多重变换的设置16.1.3 单个变换属性的设置 16.2 变换在动效中的应用 16.2.1 放大图标&am…...
Label-Studio X SAM 半自动化标注
教程:playground/label_anything/readme_zh.md at main open-mmlab/playground GitHub B站视频:Label Studio x Segment Anything Model 半自动化标注_哔哩哔哩_bilibili 需要注意: 1.LINUX上跑比较方便 2.中文路径、文件名闯大祸 3. 4…...
Mono里运行C#脚本8—mono_image_storage_open打开EXE文件
Mono里运行C#脚本8—mono_image_storage_open打开EXE文件 前面分析哈希表的实现,以及文件打开的底层函数,还有保存到HASH表里的数据结构。 static MonoImageStorage * mono_image_storage_open (const char *fname) { char *key = NULL; key = mono_path_resolve_symlinks…...