func (model *Model) Op(name string, idx int) tf.Output {
	op := model.saved.Graph.Operation(name)
	if op == nil {
		panic(fmt.Errorf("op %s not found", name))
	}
	nout := op.NumOutputs()
	if nout <= idx {
		panic(fmt.Errorf("op %s has %d outputs. Requested output number %d", name, nout, idx))
	}
	return op.Output(idx)
}
Op extracts the output in position idx of the tensor with the specified name from the model graph
package tfgo
import (
	"fmt"
	tf "github.com/galeone/tensorflow/tensorflow/go"
	"io/ioutil"
)
type Model struct {
	saved *tf.SavedModel
}
func LoadModel(exportDir string, tags []string, options *tf.SessionOptions) (model *Model) {
	var err error
	model = new(Model)
	model.saved, err = tf.LoadSavedModel(exportDir, tags, options)
	if err != nil {
		panic(err.Error())
	}
	return
}
func ImportModel(serializedModel, prefix string, options *tf.SessionOptions) (model *Model) {
	model = new(Model)
	contents, err := ioutil.ReadFile(serializedModel)
	if err != nil {
		panic(err.Error())
	}
	graph := tf.NewGraph()
	if err := graph.Import(contents, prefix); err != nil {
		panic(err.Error())
	}
	session, err := tf.NewSession(graph, options)
	if err != nil {
		panic(err.Error())
	}
	model.saved = &tf.SavedModel{Session: session, Graph: graph}
	return
}
func (model *Model) Exec(tensors []tf.Output, feedDict map[tf.Output]*tf.Tensor) (results []*tf.Tensor) {
	var err error
	if results, err = model.saved.Session.Run(feedDict, tensors, nil); err == nil {
		return results
	}
	panic(err)
}