code: func (p *perceptron) GobEncode() ([]byte, error) {
  	var buf bytes.Buffer
  	encoder := gob.NewEncoder(&buf)
  
  	// if err := encoder.Encode(&p.weights); err != nil {
  	// 	return nil, err
  	// }
  
  	if err := encoder.Encode(&p.weightsSF); err != nil {
  		return nil, err
  	}
  	if err := encoder.Encode(&p.weightsTF); err != nil {
  		return nil, err
  	}
  
  	if err := encoder.Encode(&p.totals); err != nil {
  		return nil, err
  	}
  
  	if err := encoder.Encode(&p.steps); err != nil {
  		return nil, err
  	}
  
  	if err := encoder.Encode(p.instancesSeen); err != nil {
  		return nil, err
  	}
  
  	return buf.Bytes(), nil
  }
docs: /* Perceptron Gob Interface */