目前开发进展

2023-12-05 04:01
文章标签 目前 开发进展

本文主要是介绍目前开发进展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我按照之前的仿真框架更新了自己的代码。重新梳理了结构,有一说一,这对一个新手来说一点也不容易,中间遇见各种的问题,所幸,花了很多的时间的终于改好了,对所有的函数基本上实现了封装。main函数变成了

#include <iostream>
#include <vector>
#include <random>
#include <chrono>#include "Neuron.h"
#include "Synapse.h"
#include "Params.h"
#include "KernelClass.h"
#include "Time.h"int main()
{KernelClass::create_kernel();// 创建种群int group1 = kernel().conn_manger.create(2);int group2 = kernel().conn_manger.create(2);//种群之间的连接kernel().conn_manger.connect(group1, group2, 1.0);int min_delay = 10;int max_delay = 10;kernel().conn_manger.set_min_delay(min_delay);kernel().conn_manger.set_max_delay(max_delay);//所有管理类的参数和变量的初始化kernel().initialize();//神经元和突触的实例化kernel().conn_manger.local_instantiate();//设置仿真的参数double dt = 0.1; //时间戳double sim_time = 300; //仿真时间(ms)int slice = static_cast<int>(sim_time / min_delay);//总共要执行循环数double current_time = 0;Time clock; //模拟时钟,每个切片更新一次int from_step = 0,to_step = kernel().conn_manger.get_min_delay();//开始仿真for (int timestep = 0; timestep < slice; timestep++){std::cout << "---------------------------------------" << std::endl;//更新神经元const std::vector< Neuron* >& local_nodes = kernel().conn_manger.get_local_nodes();for (auto node : local_nodes){(*node).update(clock, from_step, to_step);}//设置目前的时间kernel().sim_manager.set_slice_origin(clock);// 传递脉冲kernel().event_manager.gather_spike_data();//管理时间clock.advance_time(min_delay);//更新双缓冲kernel().event_manager.update_moduli();}KernelClass::delete_kernel();
}

执行结果

 

基本上没有什么大问题了,但是很多缺点,比如不能指定神经元的参数,突触的参数等,还有那个最大和最小延迟的问题。不过我最不满意的还是时间类的设计,我原本是打算写成类似于现实时间的那种机制,但是想了很久,没想到如何实现,如果有大佬会,请教教我。

说完了缺点,来说一下下一步准备干什么,下一步准备写MPI方面的代码了,MPI的管理类我也实现了,我一直在思考一个问题,我怎么判断我是否开启了MPI呢,其实也不是什么大问题,我把这个版本的保存一下,以后的设计都向mpi上边考虑,感觉这是一种比较稳妥的办法,所以先完成mpi的初始工作,包括对神经元的循环分配等。

这篇关于目前开发进展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/456066

相关文章

简说目前市面上最流行的“AI Agentic”

背景 当吴恩达在布道完著名的Agent设计模式后 他于不久后又引领了AI界的开发们开始关注另一种高级开发模式,即"Agentic",吴恩达多次反复强调:“Agentic是比Agent更具未来”。 那么什么是Agentic呢? 什么是AI Agentic AI Agentic即代理人工智能。 当我们谈论代理人工智能时,其实指的是一类目标实现自主操作的人工智能系统。这意味着,设计用于做

概率DP (由一道绿题引起的若干问题。目前为一些老题,蒟蒻的尝试学习1.0)

概率DP: 利用动态规划去解决 概率 期望 的题目。 概率DP 求概率(采用顺推) 从 初始状态推向结果,同一般的DP类似,只是经历了概率论知识的包装。 老题: 添加链接描述 题意: 袋子里有w只白鼠,b只黑鼠,A和B轮流从袋子里抓,谁先抓到白色谁就赢。A每次随机抓一只,B每次随机 抓完一只后 会有另外一只随机老鼠跑出来。如果两个人都没有抓到白色,那么B赢。A先抓,问A赢得概率。 w b 均在

pytorch gpu国内镜像下载,目前最快下载

前言         pytorch的cpu的包可以在国内镜像上下载,但是gpu版的包只能通过国外镜像下载,网上查了很多教程,基本都是手动从先将gpu版whl包下载下来,然后再手动安装,如何最快的通过pip的命令安装呢?下面我细细讲下。 解决办法        目前国内有pytorch的gpu版的whl包只有阿里云上的:https://mirrors.aliyun.com/pytorch-w

centos7根分区扩容(适用目前主流版本)

查看根分区不够用了       1.关掉系统,从新增加一块硬盘,开机。(云主机不用关机直接添加就行) 2.fdisk –l   本次增加的磁盘叫做/dev/vdb      3.给新增加的磁盘分区: fdisk /dev/vdb 输入p,查看分区;(新加的硬盘是没有分区的,如果有 数据可以情况,输入d删除) 输入n ,创建新分区; 输入p,创建主分区 输入1,新建xvdc的第一

java 开源项目marshalsec,快速搭建jndi相关server,目前实现了ldap,rmi。

开源项目的git代码地址:GitHub - mbechler/marshalsec 实现了ldap,rmi 的server端代码。 shi 编译 这里跳过编译时的test mvn "-Dmaven.test.skip=true" -P  clean package 编译后target目录    演示如何启动ldap服务 上传编译后的class文件到http服务器 把Expl

HR问“你目前有几个offer”,聪明人会怎么说?

点击上方“朱小厮的博客”,选择“设为星标” 做积极的人,而不是积极废人 来源:https://dwz.cn/t77IOHD4 昨天,一个读者和我聊天,说起自己最近被虐的面试经历。他985毕业,工作3年,看中了一家月薪1.5万的工作,准备跳槽。虽然在北京不算高,但也还不错,他的各方面条件也很匹配,拿下不成问题。 可没想到HR那关都没过,就收到了拒信。 他特别不能理解,找了很多内部人士问了

目前kimi算不算国内顶级的AI?

利用AI工具批量生成影视短剧推广https://docs.qq.com/doc/DYnl6d0FLdHp0V2ll 从用户体验上讲,我觉得 Kimi 算得上国内的顶级 AI。 现在的大模型产品遍地开花,底层模型原理差异不大,想要在这样的市场环境中生存下来并赢得普通用户认可,就需要在某个方面角度有特长,搞差异化竞争。而 Kimi 能成功,就在于专注于用户体验。 一键生成 PPT Kimi

【行为分析】(五)目前做到的3版behavor analyse简介

接触行为分析,大概有一个月左右时间,这段时间不论是在网上学习,还是自己琢磨如何来做埋点,如何拿取数据,如何存储等,都学到了一些东西,这篇文章主要介绍我这段时间的研究历程,希望之后做这块的人能有个参考。    一、V1.0        这一版地址:https://github.com/zhangzhenhua92/datacollection.git        主要围绕坤

【设计模式 7】从公司的目前框架和API Gateway,谈谈对外观模式的理解

我,第一次用到外观模式,应该是3年多以前。那时候是做一个收费系统,在当时的U层和B层之间,加了一层Facade。当时,在一些复杂的业务逻辑处理时,感受到了加入外观层的好处,但对于一些简单的(我指的是,当时很多facade里面的方法都只是简单的返回了B层的方法执行结果)业务,总感觉是没有必要了。那么,外观模式,究竟可以发挥出多大的威力呢???? 一、目前的框架 后来,在项目的开发中,用到的设计模