def getTrainingTimeCourseDataDict(training_data_dict, data_dir): trainingTimeCourseDataDict = {} for FullPN, ECDFileName in training_data_dict.items(): aTimeCouse = ECDDataFile() aTimeCouse.load(os.sep.join((data_dir.rstrip(os.sep), ECDFileName))) trainingTimeCourseDataDict[FullPN] = dict(ECDFileName=ECDFileName, ECDData=aTimeCouse) return trainingTimeCourseDataDict
# -------------------------------------------------------- # (4) run # -------------------------------------------------------- run( DULATION + INTERVAL ) # -------------------------------------------------------- # (5) read training time-course # -------------------------------------------------------- aTrainingTimeCourseList = [] for i in range( len(TRAINING_DATA_FILE_LIST) ): aTimeCouse = ECDDataFile() aTimeCouse.load( _DATA_ + os.sep + TRAINING_DATA_FILE_LIST[i] ) aTrainingTimeCourseList.append( aTimeCouse ) # -------------------------------------------------------- # (6) save predicted time-course # -------------------------------------------------------- aPredictedTimeCouseList = [] for i in range( len(aLoggerList) ): aTimeCouse = ECDDataFile( aLoggerList[i].getData(START_TIME, \ DULATION + INTERVAL, \ INTERVAL) ) aTimeCouse.setDataName( aLoggerList[i].getName() ) aTimeCouse.setNote( 'Predicted %s' %VARIABLE_LIST_FOR_LOGGER[i] ) aTimeCouse.save( PREFIX_OF_PREDICTED_TIMECOURSE + \
# J_r 残差のヤコビアン(m×n行列、全要素ゼロで初期化) J_r = np.zeros(( len( theFullPNs['f'] ), len( theFullPNs['b'] ))) J_r_next = copy.deepcopy( J_r ) # βの現在値のリスト p = [] for b in theFullPNs['b']: p.append( PARAMETERS[ b ] ) # トレーニングデータを格納した辞書 target_data_dict = {} for FullPN, ECDFileName in CURVE_DATA_DICT.items(): aTimeCouse = ECDDataFile() aTimeCouse.load( os.sep.join(( CURVE_DATA_DIR.rstrip( os.sep ), ECDFileName )) ) target_data_dict[ FullPN ] = getTargetDataPoints( aTimeCouse.getData(), T_START, T_END, T_INTERVAL ) """ for FullPN, tc in target_data_dict.items(): print "\n" + FullPN for dp in tc: print "{} : {}".format( dp[0], dp[1] ) """ # -------------------------------------------------------- # (3) 反復計算 # -------------------------------------------------------- beta_prev = copy.deepcopy( beta_dict )
# -------------------------------------------------------- # (1) load eml file # -------------------------------------------------------- setModel( EM, 'simple.em' ) # -------------------------------------------------------- # (2) read training time-course # -------------------------------------------------------- TRAINING_TIME_COURSE_DATA_DICT = {} for FullPN, ECDFileName in TRAINING_DATA_DICT.items(): aTimeCouse = ECDDataFile() aTimeCouse.load( os.sep.join(( TRAINING_DATA_DIR.rstrip( os.sep ), ECDFileName )) ) TRAINING_TIME_COURSE_DATA_DICT[ FullPN ] = dict( ECDFileName = ECDFileName, ECDData = aTimeCouse ) # -------------------------------------------------------- # (3) set parameter # -------------------------------------------------------- EntityStubDict = {} for FullPN, value in PARAMETERS.items(): PN = FullPN.split(':')[ -1 ] FullID = FullPN[ : len( FullPN ) - len( PN ) - 1 ] if FullID not in EntityStubDict: EntityStubDict[ FullID ] = createEntityStub( FullID ) EntityStubDict[ FullID ].setProperty( PN, value ) # --------------------------------------------------------