种群的设计(二)

重新复盘了一下种群的特性,除了内在参数外,种群也对应的兴奋性种群和抑制性种群,兴奋种群的神经元释放的脉冲能够增加后神经元的膜电位,而抑制性神经元则相反。那用程序语言描述就是

enum Population_type
{EXC,INH
};struct SynapseParams
{double weight;double delay;Population_type type;SynapseParams() :weight(0.0), delay(0.0), type(EXC) {};
};

我重新设计了突触类的内容,.h文件和,cpp文件如下:


#ifndef POPULATION_H
#define POPULATION_H#include <vector>
#include "Params.h"class Population
{
public:Population(SynapseParams &sparams_);~Population();/// <summary>/// 设置种群的数量/// </summary>/// <param name="nums_">输入种群的数量</param>void set_num_neurons(int nums_);/// <summary>/// 添加神经元对应的gid/// </summary>/// <param name="idx">添加的位置</param>/// <param name="gid_">神经元对应的gid</param>void add_neuron_gid(int idx,int gid_);/// <summary>/// 返回种群的id/// </summary>/// <returns>种群的id</returns>const int get_group_id();/// <summary>/// 获取种群的神经元的数量/// </summary>/// <returns>神经元的数量</returns>const int get_num_neurons();/// <summary>/// 获取种群中的gid的集合/// </summary>/// <returns>种群中的gid的集合</returns>const std::vector<int>& get_group_gids();private:int num_neurons; //种群的神经元数量std::vector<int> neuron_gids;static int nextId;  // 静态成员变量,用于存储下一个种群的ID标识,在每次生成对象后自增1int group_id;       // 种群的ID标识SynapseParams sparams;
};int Population::nextId = 0;inline const int Population::get_group_id()
{return group_id;
}inline const int Population::get_num_neurons()
{return num_neurons;
}inline const std::vector<int>& Population::get_group_gids()
{return neuron_gids;
}inline void Population::set_num_neurons(int nums_)
{num_neurons = nums_;neuron_gids.resize(num_neurons);
}inline void Population::add_neuron_gid(int idx, int gid_)
{neuron_gids[idx] = gid_;
}#endif // !POPULATION_H

 

#include "Population.h"Population::Population(SynapseParams& sparams_):group_id(0),num_neurons(0),neuron_gids()
{group_id = nextId++;sparams = sparams_;
}Population::~Population()
{
}

接下来就是代码的全部重新整理了,呜呜呜~,加油

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

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

相关文章

Anaconda的虚拟环境

Anaconda是一个用于数据科学和机器学习的开源发行版&#xff0c;其中包含了许多常用的数据科学工具和库。虚拟环境&#xff08;Virtual Environment&#xff09;是Anaconda中的一个重要概念&#xff0c;它允许您在同一台机器上创建多个独立的Python环境&#xff0c;每个环境都可…

Python实现FA萤火虫优化算法优化XGBoost回归模型(XGBRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法&#xff08;Fire-fly algorithm&#xff0c;FA&#xff09;由剑桥大学Yang于2009年提出 , …

【Python常用函数】一文让你彻底掌握Python中的numpy.all函数

大数据时代的到来,使得很多工作都需要进行数据挖掘,从而发现更多有利的规律,或规避风险,或发现商业价值。而大数据分析的基础是学好编程语言。本文和你一起来探索Python中的all函数,让你以最短的时间明白这个函数的原理。也可以利用碎片化的时间巩固这个函数,让你在处理工…

基于yolov2深度学习网络的人员跌倒检测识别matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 YOLOv2深度学习网络 4.2 人员跌倒检测识别原理 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 clc; clear; close all; warning off; a…

0基础学java-day15

一、泛型 1 泛型的理解和好处 1.1 看一个需求 【不小心加入其它类型&#xff0c;会导致出现类型转换异常】 package com.hspedu.generic;import java.util.ArrayList;/*** author 林然* version 1.0*/ public class Generic01 {SuppressWarnings("all")public st…

汽车网络安全--ISO\SAE 21434解析(二)

1.风险评估方法 书接上文,我们正式开始对车灯系统的TARA分析,首先回顾下整车关于车灯系统描述: 可以比较肯定的是,我们定义的item为车灯系统,因此可以看到上图中画出了item boundary;同时定义出运行环境,个人理解,这块就是为TARA分析提供足够的环境支撑,不管是直接还…

【keepalived】高可用神器,实现应用的自动主备切换

目录 1.概述 2.配置 3.效果 4.keepalived主备切换原理 5.联系作者 1.概述 什么是keepalived&#xff1a; keepalived是一个基于VRRP协议来实现的服务高可用方案。VRRP协议&#xff0c;即虚拟路由冗余协议&#xff0c;其一开始提出来是为了解决局域网中配置静态网关出现单…

CSS中区分行高,行间距

行高&#xff08;line height&#xff09; —文字占有的实际高度 —使用line-height来设置行高 行高类似于我们上学单线本&#xff0c;单线本是一行一行&#xff0c;线与线之间的距离就是行高&#xff0c;控制文字行与行之间的距离&#xff0c; 网页中的文字实际上也是写在一个…

Flink State 状态原理解析 | 京东物流技术团队

一、Flink State 概念 State 用于记录 Flink 应用在运行过程中&#xff0c;算子的中间计算结果或者元数据信息。运行中的 Flink 应用如果需要上次计算结果进行处理的&#xff0c;则需要使用状态存储中间计算结果。如 Join、窗口聚合场景。 Flink 应用运行中会保存状态信息到 …

IDEA加载阿里Java规范插件

IDEA加载阿里巴巴Java开发手册插件&#xff0c;在写代码的时候会自动扫描代码规范。 1、打开Settings 2、打开Plugins 3、搜索Alibaba Java Code Guidelines&#xff08;XenoAmess TPM&#xff09;插件&#xff0c;点击Install进行安装&#xff0c;然后重启IDE生效。 4、鼠标右…

测试新手百科:Postman简介、安装、入门使用方法详细攻略!

一、Postman背景介绍 用户在开发或者调试网络程序或者是网页B/S模式的程序的时候是需要一些方法来跟踪网页请求的&#xff0c;用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具。今天给大家介绍的这款网页调试工具不仅可以调试简单的css、html、脚本等简单的网…

要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 12 章:多选提示

要求CHATGPT高质量回答的艺术&#xff1a;提示工程技术的完整指南—第 12 章&#xff1a;多选提示 这种技术会向模型提出一个问题或任务&#xff0c;并将一组预定义的选项作为可能的答案。 该技术可用于生成仅限于特定选项集的文本&#xff0c;并可用于问题解答、文本补全和其…

记录一个困难(python)

在从一个网页跳转另一个网页&#xff08;该网页是登录页面&#xff09; 采用python的selenium库对网页进行自动化登录 import time from selenium import webdriver path chromedriver.exe driver webdriver.Chrome(path) driver.get("url") time.sleep(2) driver.f…

显存优化 Trick(gradient_accumulation、gradient_checkpointing、xformers)

目录 Out of MemoryGradient AccumulationGradient CheckpointingXformersDiffusers的显存优化 Out of Memory 先来说下OOM问题&#xff0c;其实也是日常会遇到的情况。模型申请的显存超过了设备实际显存大小&#xff0c;则会报错Out of Memory。一般情况下&#xff0c;batch …

java--匿名内部类

1.匿名内部类 ①就是一种特殊的局部内部类&#xff1b;所谓匿名&#xff1a;指的是程序员不需要为这个类声明名字。 ②特点&#xff1a;匿名内部类本质就是一个子类&#xff0c;并会立即创建出一个子类对象。 ③作用&#xff1a;用于更方便的创建一个子类对象。 2.匿名内部类…

Stm32 CubeIDE对RTC的日期、时间读写,后备存储的读写的部分做个补充说明

上一篇文章讲了Stm32 CubeIDE对RTC的日期、时间读写&#xff0c;后备存储的读写&#xff0c;发现几个问题&#xff0c;再次说明一下情况&#xff1a; 1.如果对RTC做初始化&#xff1a; hrtc.Instance RTC;hrtc.Init.HourFormat RTC_HOURFORMAT_24;hrtc.Init.AsynchPrediv 12…

用队列实现栈的功能(c++实现)

使用一个队列实现栈的基本功能&#xff1a;push、pop、判断栈是否为空等&#xff0c;实现的代码如下&#xff1a; #include<iostream> #include<queue> #include<ctime>//计算代码所需要的时间 using namespace std;class MyStack { public:queue<int>…

Dagger2使用

在android引入Dagger2库 //引入Dagger2implementation("com.google.dagger:dagger:2.48.1")annotationProcessor ("com.google.dagger:dagger-compiler:2.48.1") 构造器注入 创建一个类 public class Car {//在构造器上面添加dagger的Inject即可Injectp…

Java利用UDP实现简单群聊

一、创建新项目 首先新建一个新的项目&#xff0c;并按如下操作 二、实现代码 界面ChatFrame类 package 群聊; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.InetAddress; public abstract class ChatFrame extends JFrame { p…

C语言之多维数组

所谓多维数组就是以多个数组为单位组成的数组&#xff0c;即元素本身是数组的数组。下面我们来学习多维数组的基本知识&#xff1a; 多维数组 上一节学习的数组都是int型或double型等单一类型&#xff0c;实际上数组本身也可以作为组成数组的元素。 以数组作为元素的数组时二…