function calc_energy_acts(rbm, dir, input){
const destination = dir==='in'? 'hidden_nodes': 'visible_nodes';
const old_layer = rbm[destination];
return old_layer.map((d,i) => {
const curr_weights = rbm.weights
.filter(w => (dir==='in'? w.hidden: w.visible) === i)
.map(w => w.val);
const energy = dot_prod(curr_weights, [...input, 1])
const p_act = logistic(energy);
const activation = bernouli(p_act)
return {energy, p_act, activation}
})
}