15 #if defined(HAVE_CXX0X) || defined(HAVE_CXX11)
16 #include <unordered_map>
19 #include <tr1/unordered_map>
23 using namespace shogun;
44 void CFactorGraphModel::init()
59 REQUIRE(ftype->
get_w_dim() > 0,
"%s::add_factor_type(): number of parameters can't be 0!\n",
70 SG_PRINT(
"%s::add_factor_type(): factor_type (id = %d) has been added!\n",
82 for (int32_t mi = 0; mi < w_map_cp.
size(); mi++)
128 for (int32_t mi = 0; mi < w_map_cp.
size(); mi++)
130 if (w_map_cp[mi] == ftype_id)
192 for (int32_t wi = 0; wi < w_dim; wi++)
224 for (int32_t wi = 0; wi < w_dim; wi++)
225 fw[wi] = m_w_cache[fw_map[wi]];
231 ASSERT(offset == m_w_cache.size());
260 int32_t dat_size = dat.
size();
265 for (int32_t di = 0; di < dat_size; di++)
266 psi[w_map[ei*dat_size + di]] += dat[di];
301 SG_SPRINT(
"\n------ example %d\n", feat_idx);
309 SG_SPRINT(
"energy table before loss-aug:\n");
326 ret->
score = energy_gt;
336 SG_SPRINT(
"energy table after loss-aug:\n");
350 ret->
score -= l_energy_pred;
365 SG_SPRINT(
"dot_pred = %f, energy_pred = %f, delta = %f\n\n", dot_pred, l_energy_pred, ret->
delta);
368 states_gt.display_vector(
"state_gt");
370 SG_SPRINT(
"dot_truth = %f, energy_gt = %f\n\n", dot_truth, energy_gt);
391 for (int32_t si = 0; si < s_pred.
size(); si++)
393 if (s_pred[si] != s_truth[si])