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