R, TensorFlow, Anaconda Install on Windows - r

I'm tryiing to install tensorflow for R. For this purpose I installed the latest version of Anaconda (4.3.1) to my OS and installed everything as described in:
https://rstudio.github.io/tensorflow/installation.html
To get started, install the tensorflow R package from GitHub as follows:
devtools::install_github("rstudio/tensorflow")
Then, use the install_tensorflow() function to install TensorFlow:
library(tensorflow)
install_tensorflow()
The result of this process is a folder ~\AppData\Local\conda\conda\envs\r-tensorflow which should be used by Anaconda as an Evironment. This environment is not recognized by the current version of Anaconda.
But the output in R is:
Error: Python module tensorflow was not found.
Detected Python configuration:
python: C:\PROGRA~3\ANACON~1\python.exe
libpython: C:/PROGRA~3/ANACON~1/python36.dll
pythonhome: C:\PROGRA~3\ANACON~1
version: 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 11:57:41) [MSC v.1900 64 bit (AMD64)]
Architecture: 64bit
numpy: C:\PROGRA~3\ANACON~1\lib\site-packages\numpy
numpy_version: 1.11.3
tensorflow: [NOT FOUND]
No comes my guessing:
Anaconda 4.3.1 does use the folder C:\ProgramData\Anaconda3\pkgs for its packages and does not use the folder above at all. This might be the cause why tensorflow is not found.
The described process from https://rstudio.github.io/tensorflow/installation.html does not match the latest version of anaconda.
Can you show me how to get tensorflow to work with the latest versions of R, tensorflow and Anaconda?
I tried to install r-tensorflow to the global Anaconda environment via
conda install -c conda-forge r-tensorflow
It is not recognized by the environment loaded in R. Can I change the environment of tensorflow directly in R?

Ok, I found out that in the case of tensorflow and Anaconda used I need to force Anaconda to use the Tensorflow environment before i can use it. This is not included in the R tensorflow library so far and must be set by the reticulate library:
#set anaconda to tensor flow environment
library(reticulate)
use_condaenv("r-tensorflow")
#Alternative
use_condaenv(condaenv = "r-tensorflow", conda = "YOUR_ANACONDA_PATH")
I posted an issue here:
https://github.com/rstudio/tensorflow/issues/119

My suggestion is to install using the Anaconda Navigator
step 1:
Open Anaconda Navigator and change the Application on from "Root to Tensorflow" channel (top left)
Step 2:
Now install the R available below

Related

Error: Python module tensorflow was not found. Rstudio, Windows10 - PATH problem

I am trying to install TensorFlow on my RStudio for Windows10 following the official instructions found in the website https://tensorflow.rstudio.com/installation/
and with the requisite found in the official TensorFlow webs
https://www.tensorflow.org/install?hl=en
I found this is still an unsolved problem considering that nobody could really help in the previous questions like this for example (R, TensorFlow, Anaconda Install on Windows)
So I followed many videos on youtube and read a lot but still nothing. When I run:
library(remotes)
remotes::install_github("rstudio/tensorflow")
library(tensorflow)
install_tensorflow()
tf_config()
Installation of TensorFlow not found.
Python environments searched for 'tensorflow' package:
C:\Users\Simone\anaconda3\envs\r-reticulate\python.exe
C:\Users\Simone\anaconda3\python.exe
You can install TensorFlow using the install_tensorflow() function.
I tried this after tried the way suggested in the official page
install.packages("tensorflow")
library(tensorflow)
install_tensorflow()
library(tensorflow)
tf$constant("Hellow Tensorflow")
but still, same thing. I think it's a PATH problem but I don't know how to solve it.
Consider that when I run:
py_config() #then i get this
python: C:/Users/Simone/anaconda3/envs/r-reticulate/python.exe
libpython: C:/Users/Simone/anaconda3/envs/r-reticulate/python36.dll
pythonhome: C:/Users/Simone/anaconda3/envs/r-reticulate
version: 3.6.12 |Anaconda, Inc.| (default, Sep 9 2020, 00:29:25) [MSC v.1916 64 bit (AMD64)]
Architecture: 64bit
numpy: C:/Users/Simone/anaconda3/envs/r-reticulate/Lib/site-packages/numpy
numpy_version: 1.19.4
tensorflow: C:\Users\Simone\ANACON~2\envs\R-RETI~1\lib\site-packages\tensorflow\__init__.p
python versions found:
C:/Users/Simone/anaconda3/envs/r-reticulate/python.exe
C:/Users/Simone/anaconda3/python.exe
TensorFlow seems to be installed in this PATH C:\Users\Simone\ANACON~2\envs\R-RETI~1\lib\site-packages\tensorflow_init_.p but manually checking this PATH it doesn't appear. Seems like python is installed in one path, and tensorflow in another one
Any idea how I could fix the path problem?
Thanks!
EDIT1:
I also noticed this warning message from install_tensorflow()
WARNING: The script tensorboard.exe is installed in 'C:\Users\Simo\ANACON~2\envs\R-RETI~1\Scripts' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
so that would be the problem I should solve, but don't know how
I have met the same problem of intalling tensorflow in Rstudio, but I found a way to avoid it by installing tensorflow in a new anaconda environment, then activate the envirnoment inside Rstudio. It works in my computer (win 11, R4.2.1).
install anaconda
create a new tensorflow environment named tf-gpu, open anaconda prompt and run:
conda create -n tf-gpu tensorflow-gpu
conda activate tf-gpu
You can check the environment in anaconda prompt by:
conda env list
open Rstudio and run:
library("tensorflow")
use_condaenv("tf-gpu", required = TRUE)
tf$constant("Hello Tensorflow!")

Can't install tensorflow in R, my machine is 64 bit but R doesn't detect it

I'm using windows, my problem is that while trying to install tensorflow in R the following error message appears.
Error in install_tensorflow(method = method, conda = conda, version = tensorflow, :
Unable to install TensorFlow on this platform.Binary installation is only available for 64-bit platforms.
My machine is 64 bit, so I don't understand where is the problem.
I've already cheked if my anaconda installation and the python version are 64bit and they are.
I can install tensorflow in python without any error, but i can't in R.
I've tried to redirect the R tensorflow installation to the python environment but i don't know if it can really help.
> library(tensorflow)
> install_tensorflow()
Error in install_tensorflow() :
Unable to install TensorFlow on this platform.Binary installation is only available for 64-bit platforms.
Can you try to install older version of tensorflow which is 1.5.0 using command pip install tensorflow==1.5.0

Installing Keras/Tensor Flow on R

I am trying to install tensorflow on R. As far as I understand I have already installed successlly many times but it won't load
Everytime I run a function from Tensorflow and Keras it does not work.
> testlabels=to_categorical(trainy)
Error: Python module tensorflow.python.keras was not found.
Detected Python configuration:
python: C:\Users\AUSTER~1\ANACON~1\python.exe
libpython: C:/Users/AUSTER~1/ANACON~1/python37.dll
pythonhome: C:\Users\AUSTER~1\ANACON~1
version: 3.7.3 (default, Apr 24 2019, 15:29:51) [MSC v.1915 64 bit (AMD64)]
Architecture: 64bit
numpy: C:\Users\AUSTER~1\ANACON~1\lib\site-packages\numpy
numpy_version: 1.16.4
tensorflow: [NOT FOUND]
When I load the libraries I have no issues. They all load up sucessfully.
library(EBImage)
library(keras)
library(tensorflow)
I have ran all these following commands.
install.packages("keras")
source("http://bioconductor.org/biocLite.R")
biocLite("EBImage")
install.packages("reticulate")
install.packages("remotes")
remotes::install_github("rstudio/tensorflow")
reticulate::py_discover_config("keras")
reticulate::py_discover_config("tensorflow")
install.packages("devtools")
devtools::install_github("rstudio/keras")
tensorflow::install_tensorflow()
devtools::install_github("rstudio/keras")
What could be causing the issue. After I installed tensforflow it said "Installation Complete" and then restarted R. Is R simply unable to find the installation?
I have also ran the following commands still with no luck.
library(tensorflow)
Sys.setenv(TENSORFLOW_PYTHON="/usr/local/bin/python")
Update
I was able to get Tensorflow/Keras to work by opening an Anaconda command prompt and running the following commands. Then my R code using Keras/Tensorflow started to work.
conda install -c conda-forge keras
The keras package makes use of keras through python. When you install the package, it installs the R interface, but not the python package. You must separately install the python package. There is a nice guide for doing that on RBloggers
I checked all of the suggestions. None of them worked.
This worked for me on Windows 10
1- Open rstudio and uninstall these package if you already installed using:
uninstall.packages(c("keras", "tensorflow","tfruns"))
2- uninstall rtools from your computer if exists
3- Install Anaconda from https://www.anaconda.com/products/individual
4- Install the last version of rtools from https://cran.r-project.org/bin/windows/Rtools/
5- Close rstudio if it is opened
6- open new session and write this:
install.packages("reticulate")
install.packages("remotes")
library("reticulate")
remotes::install_github("rstudio/tensorflow")
library(tensorflow)
install_tensorflow(version = "2.0.0b1", method = "conda", envname = "r-reticulate")
remotes::install_github("rstudio/keras", dependencies = TRUE)
library(keras)
7- check if they work:
#if tensorflow works
tf$abs(-1)
#if keras works
mnist <- dataset_mnist()
my suggestion is to install anaconda and create an environment called "r-reticulate".
you can do it using anaconda navigator or
reticulate::conda_create(envname = "r-reticulate")
then to check that env detected by reticulate, use reticulate::conda_python().it must return directory of python.exe for your env.
after that you can install tensorflow by install_tensorflow(). [not working in my case]
so I install the tesnorflow from CMD.
follow these steps:
open the cmd :]
activate the r-reticulate env using conda activate r-reticulate (you may need your directory to conda directory if you did not add conda to your PATH)
use : conda install -c anaconda tensorflow
now in R, you can use TensorFlow.
for installing Keras, you can use pip install Keras. [I tried install_keras() function after the installation of tensorflow, but it n

Can't figure out how to use conda environment after reticulate::use_condaenv(path)

I created a conda environment using the terminal:
conda create --name pathfinder_example_proj_env python=3.6 feather-format=0.4.0 statsmodels=0.9.0
I also created a trivial python script
import feather
import pandas as pd
import statsmodels.api as sm
print("Done")
In an R notebook, I now want to run that script from within the conda environment I created earlier.
I tried:
reticulate::use_condaenv("pathfinder_example_proj_env", required = TRUE)
reticulate::source_python("../python/python_model.py")
But I get the following error:
Error in py_run_file_impl(file, local, convert) : ImportError: No module named feather
When I check the version of python reticulate is using I get:
reticulate::py_config()
python: /usr/bin/python
libpython: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib
pythonhome: /System/Library/Frameworks/Python.framework/Versions/2.7:/System/Library/Frameworks/Python.framework/Versions/2.7
version: 2.7.10 (default, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
numpy: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy
numpy_version: 1.8.0
python versions found:
/usr/bin/python
/Users/bradcannell/anaconda/bin/python
/Users/bradcannell/.virtualenvs/bradcannell-_MDC9FPE/bin/python
I checked for available versions using py_discover_config()
reticulate::py_discover_config()
python: /usr/bin/python
libpython: /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/config/libpython2.7.dylib
pythonhome: /System/Library/Frameworks/Python.framework/Versions/2.7:/System/Library/Frameworks/Python.framework/Versions/2.7
version: 2.7.10 (default, Oct 6 2017, 22:29:07) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)]
numpy: /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy
numpy_version: 1.8.0
python versions found:
/usr/bin/python
/Users/bradcannell/anaconda/bin/python
/Users/bradcannell/.virtualenvs/bradcannell-_MDC9FPE/bin/python
/Users/bradcannell/anaconda/envs/pathfinder_example_proj_env/bin/python
And as you can see, the virtual environment is listed. I'm just not sure how to use it.
I've read all the articles on the reticulate website:
https://rstudio.github.io/reticulate/index.html
I also found a couple of threads on Github:
https://github.com/rstudio/reticulate/issues/1
https://github.com/rstudio/reticulate/issues/292
This works for me;
library(reticulate)
myenvs=conda_list()
envname=myenvs$name[2]
use_condaenv(envname, required = TRUE)
# or
use_condaenv("r-miniconda", required = TRUE)
restart r session is needed sometimes.
I found the solution here: https://community.rstudio.com/t/reticulate-source-python-and-exec-problems/7386/6
After installing the development version of reticulate (devtools::install_github("rstudio/reticulate") reticulate uses the conda environment as expected.
Leaving this post up in case anyone else runs into this issue.
This thing worked:
By setting the value of the RETICULATE_PYTHON environment variable to a Python binary. Note that if you set this environment variable, then the specified version of Python will always be used (i.e. this is prescriptive rather than advisory). To set the value of RETICULATE_PYTHON, insert Sys.setenv(RETICULATE_PYTHON = PATH) into your project’s .Rprofile, where PATH is your preferred Python binary.

R reticulate unable to find installed python library

I'm venturing into using Reticulate in R and having trouble installing a package, specifically psycopg2 but I've also tried installing twisted with the same result.
after I load reticulate in R I double check to make sure my package is installed:
> conda_install(envname = "r-reticulate", packages="psycopg2")
Solving environment: ...working... done
# All requested packages already installed.
Looks good. So I set my condaenv to r-reticulate just to be double sure. The docs say I should not have to do this, but it should not hurt:
> use_condaenv( "r-reticulate")
Then I try to import psycopg2:
> psycopg2 <- import('psycopg2')
Error in py_module_import(module, convert = convert) :
ImportError: No module named psycopg2
If I install twisted the same way, I get the same error:
> twisted <- import('twisted')
Error in py_module_import(module, convert = convert) :
ImportError: No module named twisted
So, what am I doing wrong here?
Below is the output of conda_list and py_config... I was expecting py_config to show me the path to the python exe in my r-reticulate environment. However I don't have anything to compare this to, so my expectations may have been wrong.
> conda_list()
name python
1 Anaconda C:\\Users\\jal\\AppData\\Local\\Continuum\\Anaconda\\python.exe
2 r-reticulate C:\\Users\\jal\\AppData\\Local\\Continuum\\Anaconda\\envs\\r-reticulate\\python.exe
> py_config()
python: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\python.exe
libpython: C:/Users/jal/AppData/Local/CONTIN~1/Anaconda/python27.dll
pythonhome: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda
version: 2.7.15 |Anaconda custom (64-bit)| (default, May 1 2018, 18:37:09) [MSC v.1500 64 bit (AMD64)]
Architecture: 64bit
numpy: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\lib\site-packages\numpy
numpy_version: 1.14.3
pandas: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\lib\site-packages\pandas
python versions found:
C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\python.exe
C:\Users\jal\AppData\Local\CONTIN~1\ANACON~1\python.exe
On a whim I downloaded and installed the latest RStudio desktop (1.2.701) and upgraded from 1.1.442. This seems to have solved my issue. The packages load and I now see that when I run py_config I see paths that reflect my environment choice, as I would expect.
> py_config()
python: C:\Users\jal\AppData\Local\Continuum\Anaconda\envs\r-reticulate\python.exe
libpython: C:/Users/jal/AppData/Local/Continuum/Anaconda/envs/r-reticulate/python36.dll
pythonhome: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\envs\R-RETI~1
version: 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)]
Architecture: 64bit
numpy: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\envs\R-RETI~1\lib\site-packages\numpy
numpy_version: 1.14.3
psycopg2: C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\envs\R-RETI~1\lib\site-packages\psycopg2
python versions found:
C:\Users\jal\AppData\Local\Continuum\Anaconda\envs\r-reticulate\python.exe
C:\Users\jal\AppData\Local\CONTIN~1\Anaconda\python.exe
C:\Users\jal\AppData\Local\CONTIN~1\ANACON~1\python.exe
I solved my issue by following this way in RStudio:
py_config()
No non-system installation of Python could be found.
Would you like to download and install Miniconda?
Miniconda is an open source environment management system for Python.
See https://docs.conda.io/en/latest/miniconda.html for more details.
Would you like to install Miniconda? [Y/n]: Y
Downloading "https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe" ...
trying URL 'https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe'
Content type 'application/octet-stream' length 57256056 bytes (54.6 MB)
downloaded 54.6 MB
Installing Miniconda -- please wait a moment ...
I solved my issue by following this way:
Close RStudio.
Open Terminal and activate your desired environment.
Run RStudio by $ open -na Rstudio
Now you have your anac

Resources