搞科研(时序信号)

看电影数据
数据是看电影的fmri信号,一个人大约有两万多个体素,每个体素有530时间长度的信号
将一个体素的信号输入到GAN网络中,生成时序信号

数据预处理包括将mat格式的数据转化成np格式输入网络

模型构建
生成网络是一个多层感知机,包括四层,每一层是一个fully_connected层
这里写图片描述
该函数的输出是weight和input相乘,默认参数normalizer_fn = None,如果还有 bias初始化参数的话,有bias,如上有batch_norm的话,没有bias,在weight和input相乘之后,增加batchnorm操作,之后如果有activation_fn的话,再进行激活函数操作。

main函数
先调用模型构建函数
saver = tf.train.Saver( var_list ) # 创建一个saver,var_list是将要进行保存或者恢复的变量,默认为none,保存所有已出现有关的变量
新开一个会话session
sess.run(int) #初始化变量
sess.run(opt) #进行训练
saver.save(sess,path) #保存变量

test函数
调用模型构建函数
saver = tf.train.Saver( var_list )
新开一个会话session
sess.run(int) #初始化变量
saver.restore(sess.moudul_file) #恢复变量
out = sess.run(opt ) #获得输出

将np数据转化为mat
import scipy.io as sio
sio.savemat(‘aa.mat’,{‘a’:a,’b’:b})

结果分析
提取出输出的weight矩阵
在matlab中进行sparse coding
alpha = mexLasso(X,D,param) X是输入信号,D是字典,param是参数,alpha是相关系数
算出相关系数之后当做模板坐标的元素值,算出 spatial map.nii 文件
之后再/media/User/shuai目录下运行 sh文件,对 nii 进行fsl的overlay 运算。得到spatial map.

hcp数据

你可能感兴趣的:(tensorflow,科研)