当前位置: 首页 > news >正文

用c动态数组(实现权重矩阵可视化)实现手撸神经网络230902

变量即内存、指针使用的架构原理:

1、用结构struct记录 网络架构,如 float*** ws 为权重矩阵的指针(指针地址);

2、用 = (float*)malloc (Num * sizeof(float)) 给 具体变量分配内存;

3、用 = (float**)malloc( Num* sizeof(float*) ) 给 指向 具体变量(一维数组)的指针…… 给分配 存放指针的变量……

……见代码

// test22动态数组22多维数组23三维随机数230101.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。#include <iostream>
using namespace std;typedef struct {float*** ws;int num1;float** layer_outputs;}NeuralN;//初始化 神经网络的 weights权重矩阵等
NeuralN init(int* t01, int num02) {NeuralN nn;nn.num1 = num02;nn.ws = (float***)malloc((num02 - 1) * sizeof(float**) );srand(time(NULL));cout << " [num02:" << num02 << endl;for (int i = 0; i <(num02 - 1); ++i) {nn.ws[i] = (float**)malloc( t01[i] * sizeof(float*) );  //为指针分配内存for (int j = 0; j < t
http://www.lryc.cn/news/184044.html

相关文章:

  • Android.mk和Android.bp
  • CSS 常用样式-文本属性
  • BootstrapBlazor企业级组件库:前端开发的革新之路
  • 力扣 -- 1745. 分割回文串 IV
  • C# 给某个方法设定执行超时时间
  • 安装NodeJS并使用yarn下载前端依赖
  • (Java高级教程)第三章Java网络编程-第八节:博客系统搭建(前后端分离)
  • 901. 股票价格跨度
  • JavaScript中的模块化编程,包括CommonJS和ES6模块的区别。
  • 从零开始 Spring Cloud 13:分布式事务
  • 2023Node.js零基础教程(小白友好型),nodejs新手到高手,(二)NodeJS入门——buffer模块、计算机基础、fs模块、path模块
  • lua如何调用C/C++
  • 简单聊一聊公平锁和非公平锁,parallel并行流
  • 【SpringCloud】微服务技术栈入门4 - RabbitMQ初探
  • cefsharp(117.2.20)cef117.2.2最新体验版
  • layui在上传图片在前端处理图片压缩
  • js 事件参考
  • 卷积网络的发展历史-LeNet
  • (2023,GPT-4V,LLM,LMM,功能和应用)大型多模态模型的黎明:GPT-4V(ision) 的初步探索
  • 【C++设计模式之装饰模式:结构型】分析及示例
  • 绘制散点图、曲线图、折线图和环形图失败, 设置迭代次数和进度无法保存图片
  • micro-ROS中对消息的内存管理
  • Springboot中使用拦截器、过滤器、监听器
  • 代码随想录二刷day45
  • 泊车功能专题介绍 ———— AVP系统基础数据交互内容
  • 蓝桥杯每日一题2023.10.6
  • 7、【Qlib】【主要组件】Data Layer:数据框架与使用
  • Kubernetes安装部署 1
  • 在VS Code中优雅地编辑csv文件
  • LCR 128.库存管理 I