⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 artmapdebug.cpp

📁 ARTMAP source code. include: Fuzzy ARTMAP, Default ARTMAP, Instance-Counting ARTMAP, Distributed ART
💻 CPP
字号:
/**
 * \file
 * artmapDebug.cpp - Utility routines for printing model internals
 *
 * Copyleft (C) - Boston University CELEST Technology Laboratory
 */

#include "Logger.h"
#include "artmap.h"

/**
 Logs the network's dimensions
 */
void artmap::toStr_dimensions() {
	LOG ("M: " << M << ", L: " << L << ", C: " << C << "N: " << N << "\n");
}

/**
 Logs the activations of the F1 node field, that is, the complement-coded input vector
 */

void artmap::toStr_A() {
  LOG ("A: (");
  for (i = 0; i <   M; i++) LOGF(A[i]);
  LOG (") ( ");
	for (i = M; i < _2M; i++) { LOGF(A[i]); }
  LOG (")\n");	
}

/**
 Logs the F2 input signal, along with its tonic and phasic components (H = \f$\Theta\f$)
 */

void artmap::toStr_nodeJTSH(int j) {
  LOG ("(S: " << std::fixed << std::setprecision (2) << S[j] << ", H: " << std::fixed << std::setprecision (2) << H[j] << ") -> T: " << std::fixed << std::setprecision (2) << T[j] << "\n");
}

/**
 Logs the F2 node activation (pre/post normalization = y/Y), and the class to which the node maps.
 */

void artmap::toStr_nodeJdetails(int j) {
  LOG ("y: " << y[j] << " (c: " << c[j] << ") -> Y: " << Y[j] << " (-> class " << kap[j] << ")\n");
}

/**
 Logs the Jth node's bottom-up thresholds (\f$\tau_{ij}\f$)
 */

void artmap::toStr_nodeJtauIj(int j) {
  LOG ("tauIj[" << j << "]: ( ");
  for (i = 0; i <   M; i++) LOG(tauIj(i, j) << " ");
  LOG (") ( ");
  for (i = M; i < _2M; i++) LOG(tauIj(i, j) << " ");
  LOG (")\n");	
}

/**
 Logs the Jth node's top-down thresholds (\f$\tau_{ji}\f$)
 */

void artmap::toStr_nodeJtauJi(int j) {
  LOG ("tauJi[" << j << "]: ( ");
  for (i = 0; i <   M; i++) LOG(tauJi(i, j) << " ");
  LOG (") ( ");
  for (i = M; i < _2M; i++) LOG(tauJi(i, j) << " ");
  LOG (")\n");	
}

/**
 Logs the match field activations
 */

void artmap::toStr_x() {
  LOG ("x: (");
  for (i = 0; i <   M; i++) LOGF(x[i]);
  LOG (") ( ");
  for (i = M; i < _2M; i++) LOGF(x[i]);
  LOG (")\n");	
}

/**
 Logs the F3->F1 signal \f$\sigma_i\f$
 */

void artmap::toStr_sigma_i() {
  LOG ("sigma_i: (");
  for (i = 0; i <   M; i++) LOGF(sigma_i[i]);
  LOG (") ( ");
  for (i = M; i < _2M; i++) LOGF(sigma_i[i]);
  LOG (")\n");	
}

/**
 Logs the output prediction \f$\sigma_k\f$
 */

void artmap::toStr_sigma_k() {
	LOG ("sigma_k: ");
	for (k = 0; k < L; k++) LOG (sigma_k[k] << " ");
	LOG ("\n");
}

/****************************************************************************/
/**
 Logs all the ARTMAP network details
 */

void artmap::toStr() {
	LOG ("*******************************************************\n");
	toStr_dimensions();
	LOG ("J: " << J << ", K: " << K << "\n\n");

	toStr_A();
	LOG ("\n--------------------------------------------\n");
	foreach_j {
	  LOG ("Node " << j << "\n");
	  toStr_nodeJdetails(j);
	  toStr_nodeJtauIj(j);
	  toStr_nodeJtauJi(j);
	  LOG ("--------------------------------------------\n");
	}
	
	toStr_x ();
	toStr_sigma_i ();
	toStr_sigma_k ();

	LOG ("=======================================================\n");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -