Guia de instalação do tensorflow da versão Go

Instalação do tensorflow da versão Go

Este artigo é baseado em ubuntu16.04

Primeiro poste o tutorial oficial aqui
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/go

Observe que ao instalar a versão go do tensorflow, você deve primeiro instalar a versão C do tensorflow e implantar a linguagem go

Tutorial oficial do tensorflow para a versão c
(a versão Go do TensorFlow depende da biblioteca de linguagem C do TensorFlow)
Basta seguir as instruções oficiais, não há poço, é melhor especificar a localização, caso contrário pode haver poço atrás!

Execute este comando após a instalação

go get -d github.com/tensorflow/tensorflow/tensorflow/go

Pode aparecer ir buscar não consegue encontrar google.golang.org/protobuf/×××××××××× tais problemas

Neste ponto podemos usar o comando git clone, executar o seguinte código "https://github.com/protocolbuffers/protobuf-go.git", colocar o conteúdo baixado na pasta protobuf, ou seja, substituir todo o conteúdo baixado por O diretório protobuf problemático, isso pode ser causado pelo endereço de alteração de código anterior

执行如下命令(下载下来后记得把文件替换,或者直接改名字把protobuf-go改成protobuf换目录)
git clone https://github.com/protocolbuffers/protobuf-go.git

Se você não conseguir encontrar o diretório correspondente, você pode obtê-lo com o seguinte comando

    git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc

    git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net

    git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text

    go get -u github.com/golang/protobuf/{
    
    proto,protoc-gen-go}

    git clone https://github.com/google/go-genproto.git $GOPATH/src/google.golang.org/genproto

Se o pacote não for encontrado

 cannot find package 
"github.com/tensorflow/tensorflow/tensorflow/go/genop/internal/proto/github.com/tensorflow/tensorflow/tensorflow/go/core" in any of: /home/go/src/github.com/tensorflow/tensorflow/tensorflow/go/genop/internal/proto/github.com/tensorflow/tensorflow/tensorflow/go/core (from $GOROOT)
 
/home/go_work/src/github.com/tensorflow/tensorflow/tensorflow/go/genop/internal/proto/github.com/tensorflow/tensorflow/tensorflow/go/core (from $GOPATH)

Neste ponto podemos executar o seguinte comando para tentar resolver o problema

    cd $GOPATH/src/github.com/tensorflow/tensorflow/tensorflow/go
     
    git checkout r1.11
     
    go get github.com/tensorflow/tensorflow/tensorflow/go

Você também pode pesquisar e fazer perguntas no StackOverflow para possíveis soluções.

Se go get for bem-sucedido, nenhum erro será relatado, você pode usar o seguinte comando para testar

go test github.com/tensorflow/tensorflow/tensorflow/go

Olá Mundo


Depois de instalar a versão Go do TensorFlow, digite o seguinte código no arquivo hello_tf.go:

package main
 
import (
	tf "github.com/tensorflow/tensorflow/tensorflow/go"
	"github.com/tensorflow/tensorflow/tensorflow/go/op"
	"fmt"
)
 
func main() {
    
    
	// Construct a graph with an operation that produces a string constant.
	s := op.NewScope()
	c := op.Const(s, "Hello from TensorFlow version " + tf.Version())
	graph, err := s.Finalize()
	if err != nil {
    
    
		panic(err)
	}
 
	// Execute the graph in a session.
	sess, err := tf.NewSession(graph, nil)
	if err != nil {
    
    
		panic(err)
	}
	output, err := sess.Run(nil, []tf.Output{
    
    c}, nil)
	if err != nil {
    
    
		panic(err)
	}
	fmt.Println(output[0].Value())
}

Execute hello_tf.go chamando o seguinte comando:

go run hello_tf.go
Hello from TensorFlow version number

Este programa pode gerar mensagens de aviso semelhantes às seguintes, você pode ignorá-las:


W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library
wasn't compiled to use *Type* instructions, but these are available on your
machine and could speed up CPU computations.


Referência
[1]: https://blog.csdn.net/jj546630576/article/details/88179569
[2]: https://www.cnblogs.com/personblog/p/13084723.html
[3]: https: / /blog.csdn.net/qq_38431572/article/details/103671986

Acho que você gosta

Origin blog.csdn.net/introsend/article/details/110784821
Recomendado
Clasificación