2017-11-04 4 views
0

Ich geladene Paket tensorflow und library(tensorflow) ausführen. Ich habe die Nachricht erhalten, dass tf von .GlobalEnv maskiert wird. Nicht sicher, was das bedeutet, aber es schien kein Fehler zu sein.

Ich lief dann install_tensorflow() und das scheint gut zu laufen. Ich lief jetzt wieder library(tensorflow) ohne eine Nachricht.

Beim Überprüfen der Tensorflow-Installation mit tf_config() bekomme ich die Tensorflow-Informationen (Version v.1.4.0) und Python v3.6.

Es schien alles in Ordnung. Aber wenn ich hello <- tf$constant('Hello, TensorFlow!') oder andere tf$XXX leite, erhalte ich die Fehlermeldung:

Error in tf$constant : $ operator is invalid for atomic vectors.

Also irgendwie ist tensorflow nicht richtig installiert. ?tf öffnet die richtige Beschreibung für das Tensorflow-Modul.

Jeder hat eine Idee?

Antwort

0

Der erste Fehler, den Sie bekommen, ist, weil Sie Dinge (Objekte) in Ihrer globalen Umgebung mit dem gleichen Namen wie andere Dinge in Ihrem Paket definiert haben. Wie in Ihrem Fehler angegeben, kann die $ Operation nur für rekursive Objekte und nicht atomare getan werden. Ich würde wahrscheinlich vermuten, dass Sie irgendwo eine atomare tf haben.

Sie könnten ein paar mehr Infos hier

Meaning of objects being masked by the global environment

1

Dank, das war es finden. Ich habe R neu gestartet und alle Inhalte der Gloval-Umgebung gelöscht. Dann könnte ich Tensorflow ohne die Nachricht integrieren. Ich konterte immer noch ein Conda-Umweltproblem, das ich in einem anderen Post eine Lösung fand. Hier ist der Code, der funktioniert hat. Beachten Sie, dass zu Beginn die gesamte globale Umgebung leer war:

library(tensorflow) 
install_tensorflow() 
library(reticulate) 
library(tensorflow) 
use_condaenv("r-tensorflow") 
sess = tf$Session() 
Verwandte Themen