i've been trying to get plaidml to work for the past 5 hours now without success, here's what I did:
1) fresh install of R / Rstudio
2) fresh install of conda
3) created the r-reticulate env
4) installed plaidml-keras on r-reticulate and on root
5) ran plaidml-setup on both r-reticulate and on root
6) tried running the mnist cnn example and got the following error: Error in py_call_impl(callable, dots$args, dots$keywords) :
PlaidMLError: PlaidML is not configured. Run plaidml-setup.
I tried running on python and it worked flawlessly, by the way. R, on the other hand, refuses to work.
I think i'm doing something wrong here as i'm kinda new in this world, but i dont know. Help?
Hi @vinnegsh , Could you share your code? So, we could help.
I have got the same problem. When running in R. Fresh install of conda, installed and run plaidml-setup. No luck either... running on Windows 10. When running benchplaid it works flawlessly...
For now, I would do the following:
Start menu -> Run and type cmd
If you use Anaconda/miniconda, then in order to force __pip__ work in cmd write the following
__python path + Scripts folder__ (pip.exe)
c:\Python27\Scripts
pip install plaidml-keras
> reticulate::py_config()
python: /Users/turgutabdullayev/Library/r-miniconda/envs/r-reticulate/bin/python
libpython: /Users/turgutabdullayev/Library/r-miniconda/envs/r-reticulate/lib/libpython3.6m.dylib
pythonhome: /Users/turgutabdullayev/Library/r-miniconda/envs/r-reticulate:/Users/turgutabdullayev/Library/r-miniconda/envs/r-reticulate
version: 3.6.10 |Anaconda, Inc.| (default, Mar 25 2020, 18:53:43) [GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]
numpy: /Users/turgutabdullayev/Library/r-miniconda/envs/r-reticulate/lib/python3.6/site-packages/numpy
numpy_version: 1.18.1
> keras::use_backend('plaidml')
> keras::k_backend()
[1] "plaidml"
> library(keras);library(magrittr)
> x_data <- matrix(data = runif(500,0,1),nrow = 50,ncol = 5)
> y_data <- ifelse(runif(50,0,1) > 0.6, 1L,0L) %>% as.matrix()
> model = keras_model_sequential() %>% layer_dense(1, input_shape = ncol(x_data)) %>%
+ compile(loss='binary_crossentropy',optimizer='adam')
INFO:plaidml:Opening device "llvm_cpu.0"
> model %>% fit(x_data,y_data)
Epoch 1/10
50/50 [==============================] - 1s 13ms/step - loss: 8.7339
Epoch 2/10
50/50 [==============================] - 0s 111us/step - loss: 8.7241
Epoch 3/10
50/50 [==============================] - 0s 285us/step - loss: 8.7116
Epoch 4/10
50/50 [==============================] - 0s 482us/step - loss: 8.6997
Epoch 5/10
50/50 [==============================] - 0s 325us/step - loss: 8.6920
Epoch 6/10
50/50 [==============================] - 0s 257us/step - loss: 8.6827
Epoch 7/10
50/50 [==============================] - 0s 234us/step - loss: 8.6731
Epoch 8/10
50/50 [==============================] - 0s 236us/step - loss: 8.6667
Epoch 9/10
50/50 [==============================] - 0s 381us/step - loss: 8.6602
Epoch 10/10
50/50 [==============================] - 0s 265us/step - loss: 8.6534
Hi!
Thank you very much for the quick response. I tried what you said, however the problem still persists. Running your code gets me this output:
> reticulate::py_config()
python: C:/Users/matthias/AppData/Local/r-miniconda/envs/r-reticulate/python.exe
libpython: C:/Users/matthias/AppData/Local/r-miniconda/envs/r-reticulate/python36.dll
pythonhome: C:/Users/matthias/AppData/Local/r-miniconda/envs/r-reticulate
version: 3.6.10 |Anaconda, Inc.| (default, Mar 23 2020, 17:58:33) [MSC v.1916 64 bit (AMD64)]
Architecture: 64bit
numpy: C:/Users/matthias/AppData/Local/r-miniconda/envs/r-reticulate/Lib/site-packages/numpy
numpy_version: 1.18.1
> keras::use_backend('plaidml')
> keras::k_backend()
[1] "plaidml"
> library(keras);library(magrittr)
> x_data <- matrix(data = runif(500,0,1),nrow = 50,ncol = 5)
> y_data <- ifelse(runif(50,0,1) > 0.6, 1L,0L) %>% as.matrix()
> model = keras_model_sequential() %>% layer_dense(1, input_shape = ncol(x_data)) %>%
+ + compile(loss='binary_crossentropy',optimizer='adam')
Error in py_call_impl(callable, dots$args, dots$keywords) :
PlaidMLError: PlaidML is not configured. Run plaidml-setup.
Detailed traceback:
File "C:\Users\matthias\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\keras\engine\sequential.py", line 165, in add
layer(x)
File "C:\Users\matthias\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\keras\engine\base_layer.py", line 431, in __call__
self.build(unpack_singleton(input_shapes))
File "C:\Users\matthias\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\keras\layers\core.py", line 866, in build
constraint=self.kernel_constraint)
File "C:\Users\matthias\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "C:\Users\matthias\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\keras\engine\base_layer.py", line 249, in add_weight
weight = K.variable(initializer(shape),
File "C:\Users\matthias\AppData\Local\r-minicond
note the output is truncated, but it wasn't me :) It's the entire output I could get...
Thanks for your time!
Okay, please do the following:
cmd and type:cd C:\Users\matthias\miniconda\Scripts
1st step: pip install plaidml-keras
2nd step: plaidml-setup
reticulate::use_python('C:/Users/matthias/miniconda/python.exe',required = TRUE)
reticulate::py_config()
keras::use_backend('plaidml')
keras::k_backend()
library(keras);library(magrittr)
x_data <- matrix(data = runif(500,0,1),nrow = 50,ncol = 5)
y_data <- ifelse(runif(50,0,1) > 0.6, 1L,0L) %>% as.matrix()
model = keras_model_sequential() %>% layer_dense(1, input_shape = ncol(x_data)) %>%
compile(loss='binary_crossentropy',optimizer='adam')
model %>% fit(x_data,y_data)
I followed your steps exactly. Now the output is this:
````
reticulate::use_python('C:/Users/matthias/miniconda/python.exe',required = TRUE)
reticulate::py_config()
python: C:/Users/matthias/miniconda/python.exe
libpython: C:/Users/matthias/miniconda/python37.dll
pythonhome: C:/Users/matthias/miniconda
version: 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
Architecture: 64bit
numpy: C:/Users/matthias/miniconda/Lib/site-packages/numpy
numpy_version: 1.18.2
tensorflow: [NOT FOUND]
NOTE: Python version was forced by use_python function
keras::use_backend('plaidml')
keras::k_backend()
Error in py_get_attr_impl(x, name, silent) :
AttributeError: module 'kerastools' has no attribute 'progbar'library(keras);library(magrittr)
x_data <- matrix(data = runif(500,0,1),nrow = 50,ncol = 5)
y_data <- ifelse(runif(50,0,1) > 0.6, 1L,0L) %>% as.matrix()model = keras_model_sequential() %>% layer_dense(1, input_shape = ncol(x_data)) %>%
- compile(loss='binary_crossentropy',optimizer='adam')
Error in py_call_impl(callable, dots$args, dots$keywords) :
PlaidMLError: PlaidML is not configured. Run plaidml-setup.
Detailed traceback:
File "C:Usersmatthiasminicondalibsite-packageskerasenginesequential.py", line 165, in add
layer(x)
File "C:Usersmatthiasminicondalibsite-packageskerasenginebase_layer.py", line 431, in __call__
self.build(unpack_singleton(input_shapes))
File "C:Usersmatthiasminicondalibsite-packageskeraslayerscore.py", line 866, in build
constraint=self.kernel_constraint)
File "C:Usersmatthiasminicondalibsite-packageskeraslegacyinterfaces.py", line 91, in wrapper
return func(args, *kwargs)
File "C:Usersmatthiasminicondalibsite-packageskerasenginebase_layer.py", line 249, in add_weight
weight = K.variable(initializer(shape),
File "C:Usersmatthiasminicondalibsite-packageskerasinitializers.py", line 218, in __call__
dtype=dtype, seed=self.seed)
File "C:Usersmatthiasminicondalibsite-packagesplaidmlkerasbackend.py", line 5
```
I really don't understand:
Problem 1: tensorflow [NOT FOUND] ?
Problem 2: Error in py_get_attr_impl(x, name, silent) :
AttributeError: module 'kerastools' has no attribute 'progbar'
Problem 3: PlaidMLError: PlaidML is not configured. Run plaidml-setup.
I'm getting mad. Still, when running plaidbench for example, when using the miniconda directory is working fine. hm...
Then, execute in cmd:
1st step:
pip install plaidml-keras
2nd step:plaidml-setup
@medomatto What did you get when running these steps? Could you copy+paste?
1st : (it is already installed therefore I am getting this I think)
```
C:UsersmatthiasminicondaScripts>pip install plaidml-keras
Requirement already satisfied: plaidml-keras in c:usersmatthiasminicondalibsite-packages (0.7.0)
Requirement already satisfied: keras==2.2.4 in c:usersmatthiasminicondalibsite-packages (from plaidml-keras) (2.2.4)
Requirement already satisfied: plaidml in c:usersmatthiasminicondalibsite-packages (from plaidml-keras) (0.7.0)
Requirement already satisfied: six in c:usersmatthiasminicondalibsite-packages (from plaidml-keras) (1.14.0)
Requirement already satisfied: h5py in c:usersmatthiasminicondalibsite-packages (from keras==2.2.4->plaidml-keras) (2.10.0)
Requirement already satisfied: scipy>=0.14 in c:usersmatthiasminicondalibsite-packages (from keras==2.2.4->plaidml-keras) (1.4.1)
Requirement already satisfied: keras-preprocessing>=1.0.5 in c:usersmatthiasminicondalibsite-packages (from keras==2.2.4->plaidml-keras) (1.1.0)
Requirement already satisfied: keras-applications>=1.0.6 in c:usersmatthiasminicondalibsite-packages (from keras==2.2.4->plaidml-keras) (1.0.8)
Requirement already satisfied: numpy>=1.9.1 in c:usersmatthiasminicondalibsite-packages (from keras==2.2.4->plaidml-keras) (1.18.2)
Requirement already satisfied: pyyaml in c:usersmatthiasminicondalibsite-packages (from keras==2.2.4->plaidml-keras) (5.3.1)
Requirement already satisfied: cffi in c:usersmatthiasminicondalibsite-packages (from plaidml->plaidml-keras) (1.14.0)
Requirement already satisfied: enum34>=1.1.6 in c:usersmatthiasminicondalibsite-packages (from plaidml->plaidml-keras) (1.1.10)
Requirement already satisfied: pycparser in c:usersmatthiasminicondalibsite-packages (from cffi->plaidml->plaidml-keras) (2.19)
C:UsersmatthiasminicondaScripts> ```
2nd:
```C:UsersmatthiasminicondaScripts>plaidml-setup
PlaidML Setup (0.7.0)
Thanks for using PlaidML!
The feedback we have received from our users indicates an ever-increasing need
for performance, programmability, and portability. During the past few months,
we have been restructuring PlaidML to address those needs. To make all the
changes we need to make while supporting our current user base, all development
of PlaidML has moved to a branch — plaidml-v1. We will continue to maintain and
support the master branch of PlaidML and the stable 0.7.0 release.
Read more here: https://github.com/plaidml/plaidml
Some Notes:
Default Config Devices:
llvm_cpu.0 : CPU (via LLVM)
opencl_nvidia_geforce_gtx_1080.0 : NVIDIA Corporation GeForce GTX 1080 (OpenCL)
Experimental Config Devices:
llvm_cpu.0 : CPU (via LLVM)
opencl_nvidia_geforce_gtx_1080.0 : NVIDIA Corporation GeForce GTX 1080 (OpenCL)
Using experimental devices can cause poor performance, crashes, and other nastiness.
Enable experimental device support? (y,n)[n]: ```
and then normally I would say yes, then choose my graphics card and confirm.
Isn't that okay? Thanks again for your effort.
Now, please close and restart RStudio, and __do not use specific python__. Run the following:
reticulate::py_config()
keras::use_backend('plaidml')
keras::k_backend()
library(keras);library(magrittr)
x_data <- matrix(data = runif(500,0,1),nrow = 50,ncol = 5)
y_data <- ifelse(runif(50,0,1) > 0.6, 1L,0L) %>% as.matrix()
model = keras_model_sequential() %>% layer_dense(1, input_shape = ncol(x_data)) %>%
compile(loss='binary_crossentropy',optimizer='adam')
model %>% fit(x_data,y_data)
Okay, it did something.
Got still some errors, though...
wow.
> reticulate::py_config()
python: C:/Users/matthias/AppData/Local/r-miniconda/envs/r-reticulate/python.exe
libpython: C:/Users/matthias/AppData/Local/r-miniconda/envs/r-reticulate/python36.dll
pythonhome: C:/Users/matthias/AppData/Local/r-miniconda/envs/r-reticulate
version: 3.6.10 |Anaconda, Inc.| (default, Mar 23 2020, 17:58:33) [MSC v.1916 64 bit (AMD64)]
Architecture: 64bit
numpy: C:/Users/matthias/AppData/Local/r-miniconda/envs/r-reticulate/Lib/site-packages/numpy
numpy_version: 1.18.1
> keras::use_backend('plaidml')
Error in py_call_impl(callable, dots$args, dots$keywords) :
AttributeError: module 'plaidml.keras.backend' has no attribute 'eager'
Detailed traceback:
File "C:\Users\matthias\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\plaidml\keras\__init__.py", line 68, in install_backend
from keras.utils import conv_utils
File "C:\Users\matthias\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\keras\__init__.py", line 3, in <module>
from . import utils
File "C:\Users\matthias\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\keras\utils\__init__.py", line 26, in <module>
from .vis_utils import model_to_dot
File "C:\Users\matthias\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\keras\utils\vis_utils.py", line 7, in <module>
from ..models import Model
File "C:\Users\matthias\AppData\Local\r-miniconda\envs\r-reticulate\lib\site-packages\keras\models.py", line 10, in <module>
from .engine.input_layer import Input
File "C:\Users\matthias\AppData\Local\r-minicond
> keras::k_backend()
[1] "tensorflow"
>
> library(keras);library(magrittr)
> x_data <- matrix(data = runif(500,0,1),nrow = 50,ncol = 5)
> y_data <- ifelse(runif(50,0,1) > 0.6, 1L,0L) %>% as.matrix()
>
> model = keras_model_sequential() %>% layer_dense(1, input_shape = ncol(x_data)) %>%
+ compile(loss='binary_crossentropy',optimizer='adam')
2020-04-10 07:49:53.963934: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
>
> model %>% fit(x_data,y_data)
Train on 50 samples
Epoch 1/10
32/50 [==================>...........] - ETA: 0s - loss: 5.3072
50/50 [==============================] - 1s 10ms/sample - loss: 4.7888
Epoch 2/10
32/50 [==================>...........] - ETA: 0s - loss: 5.3607
50/50 [==============================] - 0s 391us/sample - loss: 4.7790
Epoch 3/10
32/50 [==================>...........] - ETA: 0s - loss: 4.8048
50/50 [==============================] - 0s 802us/sample - loss: 4.7705
Epoch 4/10
32/50 [==================>...........] - ETA: 0s - loss: 5.6640
50/50 [==============================] - 0s 61us/sample - loss: 4.7619
Epoch 5/10
32/50 [==================>...........] - ETA: 0s - loss: 5.7515
50/50 [==============================] - 0s 80us/sample - loss: 4.3756
Epoch 6/10
32/50 [==================>...........] - ETA: 0s - loss: 4.2168
50/50 [==============================] - 0s 80us/sample - loss: 4.3483
Epoch 7/10
32/50 [==================>...........] - ETA: 0s - loss: 4.6176
50/50 [==============================] - 0s 80us/sample - loss: 4.3189
Epoch 8/10
32/50 [==================>...........] - ETA: 0s - loss: 3.9362
50/50 [==============================] - 0s 80us/sample - loss: 4.2978
Epoch 9/10
32/50 [==================>...........] - ETA: 0s - loss: 4.8709
50/50 [==============================] - 0s 80us/sample - loss: 4.2869
Epoch 10/10
32/50 [==================>...........] - ETA: 0s - loss: 4.9725
50/50 [==============================] - 0s 100us/sample - loss: 4.2767
I don't know exactly what you did. But it works now.... I am super thankful!!!! GREAT!! Thanks @henry090 !!!!
hey @henry090 ! sorry for the late reply, i didnt get a notification, for some reason.
i followed your steps and got this:
C:Usersvinne>pip install plaidml-keras
Requirement already satisfied: plaidml-keras in c:usersvinneanaconda3libsite-packages (0.7.0)
Requirement already satisfied: keras==2.2.4 in c:usersvinneanaconda3libsite-packages (from plaidml-keras) (2.2.4)
Requirement already satisfied: plaidml in c:usersvinneanaconda3libsite-packages (from plaidml-keras) (0.7.0)
Requirement already satisfied: six in c:usersvinneanaconda3libsite-packages (from plaidml-keras) (1.14.0)
Requirement already satisfied: pyyaml in c:usersvinneanaconda3libsite-packages (from keras==2.2.4->plaidml-keras) (5.3)
Requirement already satisfied: numpy>=1.9.1 in c:usersvinneanaconda3libsite-packages (from keras==2.2.4->plaidml-keras) (1.18.1)
Requirement already satisfied: keras-applications>=1.0.6 in c:usersvinneanaconda3libsite-packages (from keras==2.2.4->plaidml-keras) (1.0.8)
Requirement already satisfied: scipy>=0.14 in c:usersvinneanaconda3libsite-packages (from keras==2.2.4->plaidml-keras) (1.4.1)
Requirement already satisfied: keras-preprocessing>=1.0.5 in c:usersvinneanaconda3libsite-packages (from keras==2.2.4->plaidml-keras) (1.1.0)
Requirement already satisfied: h5py in c:usersvinneanaconda3libsite-packages (from keras==2.2.4->plaidml-keras) (2.10.0)
Requirement already satisfied: enum34>=1.1.6 in c:usersvinneanaconda3libsite-packages (from plaidml->plaidml-keras) (1.1.10)
Requirement already satisfied: cffi in c:usersvinneanaconda3libsite-packages (from plaidml->plaidml-keras) (1.14.0)
Requirement already satisfied: pycparser in c:usersvinneanaconda3libsite-packages (from cffi->plaidml->plaidml-keras) (2.19)C:Usersvinne>plaidml-setup
PlaidML Setup (0.7.0)
Thanks for using PlaidML!
The feedback we have received from our users indicates an ever-increasing need
for performance, programmability, and portability. During the past few months,
we have been restructuring PlaidML to address those needs. To make all the
changes we need to make while supporting our current user base, all development
of PlaidML has moved to a branch — plaidml-v1. We will continue to maintain and
support the master branch of PlaidML and the stable 0.7.0 release.Read more here: https://github.com/plaidml/plaidml
Some Notes:
- Bugs and other issues: https://github.com/plaidml/plaidml/issues
- Questions: https://stackoverflow.com/questions/tagged/plaidml
- Say hello: https://groups.google.com/forum/#!forum/plaidml-dev
- PlaidML is licensed under the Apache License 2.0
Default Config Devices:
llvm_cpu.0 : CPU (via LLVM)Experimental Config Devices:
llvm_cpu.0 : CPU (via LLVM)
opencl_amd_gfx1010.0 : Advanced Micro Devices, Inc. gfx1010 (OpenCL)Using experimental devices can cause poor performance, crashes, and other nastiness.
Enable experimental device support? (y,n)[n]:y
Multiple devices detected (You can override by setting PLAIDML_DEVICE_IDS).
Please choose a default device:1 : llvm_cpu.0
2 : opencl_amd_gfx1010.0Default device? (1,2)[1]:2
Selected device:
opencl_amd_gfx1010.0Almost done. Multiplying some matrices...
Tile code:
function (B[X,Z], C[Z,Y]) -> (A) { A[x,y : X,Y] = +(B[x,z] * C[z,y]); }
Whew. That worked.Save settings to C:Usersvinne.plaidml? (y,n)[y]:y
Success!C:Usersvinne>plaidbench keras mobilenet
Running 1024 examples with mobilenet, batch size 1, on backend plaid
INFO:plaidml:Opening device "opencl_amd_gfx1010.0"
Compiling network... Warming up... Running...
Example finished, elapsed: 20.293s (compile), 4.647s (execution)
Network Name Inference Latency Time / FPS
mobilenet 4.54 ms 1.00 ms / 1000.24 fps
Correctness: PASS, max_error: 7.314303729799576e-06, max_abs_error: 6.407499313354492e-07, fail_ratio: 0.0
on R:
reticulate::py_config()
python: C:/Users/vinne/anaconda3/python.exe
libpython: C:/Users/vinne/anaconda3/python37.dll
pythonhome: C:/Users/vinne/anaconda3
version: 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]
Architecture: 64bit
numpy: C:/Users/vinne/anaconda3/Lib/site-packages/numpy
numpy_version: 1.18.1
keras::use_backend('plaidml')
2020-04-11 04:51:51.081758: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
2020-04-11 04:51:51.081929: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
keras::k_backend()
[1] "tensorflow"
last time i tried it, plaidml was loading and now isnt anymore, lol.
thank you very much for you answer.
@vinnegsh Please, restart your system and try, again. If it does not help, remove the package and install, again because it has to work. Everything seems fine. And let me know, please.
@henry090 here's what I did so far:
uninstalled R, Rstudio and Anaconda
reinstalled R and Rstudio
installed miniconda through reticulate
on cmd:
cd C:/Users/vinne/AppData/Local/r-miniconda/envs/r-reticulate/
C:\Users\vinne\AppData\Local\r-miniconda\envs\r-reticulate>pip install plaidml-keras
Requirement already satisfied: plaidml-keras in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (0.7.0)
Requirement already satisfied: plaidml in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from plaidml-keras) (0.7.0)
Requirement already satisfied: keras==2.2.4 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from plaidml-keras) (2.2.4)
Requirement already satisfied: six in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from plaidml-keras) (1.14.0)
Requirement already satisfied: numpy in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from plaidml->plaidml-keras) (1.18.1)
Requirement already satisfied: cffi in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from plaidml->plaidml-keras) (1.14.0)
Requirement already satisfied: enum34>=1.1.6 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from plaidml->plaidml-keras) (1.1.10)
Requirement already satisfied: h5py in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from keras==2.2.4->plaidml-keras) (2.10.0)
Requirement already satisfied: keras-preprocessing>=1.0.5 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from keras==2.2.4->plaidml-keras) (1.1.0)
Requirement already satisfied: pyyaml in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from keras==2.2.4->plaidml-keras) (5.3.1)
Requirement already satisfied: keras-applications>=1.0.6 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from keras==2.2.4->plaidml-keras) (1.0.8)
Requirement already satisfied: scipy>=0.14 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from keras==2.2.4->plaidml-keras) (1.4.1)
Requirement already satisfied: pycparser in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from cffi->plaidml->plaidml-keras) (2.20)
C:\Users\vinne\AppData\Local\r-miniconda\envs\r-reticulate>pip install tensorflow
Requirement already satisfied: tensorflow in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (2.1.0)
Requirement already satisfied: wheel>=0.26; python_version >= "3" in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (0.34.2)
Requirement already satisfied: opt-einsum>=2.3.2 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (3.2.0)
Requirement already satisfied: six>=1.12.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (1.14.0)
Requirement already satisfied: tensorboard<2.2.0,>=2.1.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (2.1.1)
Requirement already satisfied: absl-py>=0.7.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (0.9.0)
Requirement already satisfied: numpy<2.0,>=1.16.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (1.18.1)
Requirement already satisfied: wrapt>=1.11.1 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (1.12.1)
Requirement already satisfied: termcolor>=1.1.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (1.1.0)
Requirement already satisfied: gast==0.2.2 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (0.2.2)
Requirement already satisfied: keras-preprocessing>=1.1.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (1.1.0)
Requirement already satisfied: protobuf>=3.8.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (3.11.3)
Requirement already satisfied: scipy==1.4.1; python_version >= "3" in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (1.4.1)
Requirement already satisfied: astor>=0.6.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (0.8.1)
Requirement already satisfied: grpcio>=1.8.6 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (1.28.1)
Requirement already satisfied: keras-applications>=1.0.8 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (1.0.8)
Requirement already satisfied: google-pasta>=0.1.6 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (0.2.0)
Requirement already satisfied: tensorflow-estimator<2.2.0,>=2.1.0rc0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorflow) (2.1.0)
Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow) (0.4.1)
Requirement already satisfied: setuptools>=41.0.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow) (46.1.3.post20200330)
Requirement already satisfied: werkzeug>=0.11.15 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow) (1.0.1)
Requirement already satisfied: requests<3,>=2.21.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow) (2.23.0)
Requirement already satisfied: markdown>=2.6.8 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow) (3.2.1)
Requirement already satisfied: google-auth<2,>=1.6.3 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from tensorboard<2.2.0,>=2.1.0->tensorflow) (1.13.1)
Requirement already satisfied: h5py in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from keras-applications>=1.0.8->tensorflow) (2.10.0)
Requirement already satisfied: requests-oauthlib>=0.7.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.2.0,>=2.1.0->tensorflow) (1.3.0)
Requirement already satisfied: idna<3,>=2.5 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from requests<3,>=2.21.0->tensorboard<2.2.0,>=2.1.0->tensorflow) (2.9)
Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from requests<3,>=2.21.0->tensorboard<2.2.0,>=2.1.0->tensorflow) (1.25.8)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from requests<3,>=2.21.0->tensorboard<2.2.0,>=2.1.0->tensorflow) (2020.4.5.1)
Requirement already satisfied: chardet<4,>=3.0.2 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from requests<3,>=2.21.0->tensorboard<2.2.0,>=2.1.0->tensorflow) (3.0.4)
Requirement already satisfied: rsa<4.1,>=3.1.4 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow) (4.0)
Requirement already satisfied: pyasn1-modules>=0.2.1 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow) (0.2.8)
Requirement already satisfied: cachetools<5.0,>=2.0.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow) (4.1.0)
Requirement already satisfied: oauthlib>=3.0.0 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard<2.2.0,>=2.1.0->tensorflow) (3.1.0)
Requirement already satisfied: pyasn1>=0.1.3 in c:\users\vinne\appdata\local\r-miniconda\envs\r-reticulate\lib\site-packages (from rsa<4.1,>=3.1.4->google-auth<2,>=1.6.3->tensorboard<2.2.0,>=2.1.0->tensorflow) (0.4.8)
C:\Users\vinne\AppData\Local\r-miniconda\envs\r-reticulate>plaidml-setup
PlaidML Setup (0.7.0)
Thanks for using PlaidML!
The feedback we have received from our users indicates an ever-increasing need
for performance, programmability, and portability. During the past few months,
we have been restructuring PlaidML to address those needs. To make all the
changes we need to make while supporting our current user base, all development
of PlaidML has moved to a branch — plaidml-v1. We will continue to maintain and
support the master branch of PlaidML and the stable 0.7.0 release.
Read more here: https://github.com/plaidml/plaidml
Some Notes:
* Bugs and other issues: https://github.com/plaidml/plaidml/issues
* Questions: https://stackoverflow.com/questions/tagged/plaidml
* Say hello: https://groups.google.com/forum/#!forum/plaidml-dev
* PlaidML is licensed under the Apache License 2.0
Default Config Devices:
llvm_cpu.0 : CPU (via LLVM)
Experimental Config Devices:
llvm_cpu.0 : CPU (via LLVM)
opencl_amd_gfx1010.0 : Advanced Micro Devices, Inc. gfx1010 (OpenCL)
Using experimental devices can cause poor performance, crashes, and other nastiness.
Enable experimental device support? (y,n)[n]:y
Multiple devices detected (You can override by setting PLAIDML_DEVICE_IDS).
Please choose a default device:
1 : llvm_cpu.0
2 : opencl_amd_gfx1010.0
Default device? (1,2)[1]:2
Selected device:
opencl_amd_gfx1010.0
Almost done. Multiplying some matrices...
Tile code:
function (B[X,Z], C[Z,Y]) -> (A) { A[x,y : X,Y] = +(B[x,z] * C[z,y]); }
Whew. That worked.
Save settings to C:\Users\vinne\.plaidml? (y,n)[y]:
Success!
now, on R:
> reticulate::py_config()
python: C:/Users/vinne/AppData/Local/r-miniconda/envs/r-reticulate/python.exe
libpython: C:/Users/vinne/AppData/Local/r-miniconda/envs/r-reticulate/python36.dll
pythonhome: C:/Users/vinne/AppData/Local/r-miniconda/envs/r-reticulate
version: 3.6.10 |Anaconda, Inc.| (default, Mar 23 2020, 17:58:33) [MSC v.1916 64 bit (AMD64)]
Architecture: 64bit
numpy: C:/Users/vinne/AppData/Local/r-miniconda/envs/r-reticulate/Lib/site-packages/numpy
numpy_version: 1.18.1
> keras::use_backend('plaidml')
> keras::k_backend()
2020-04-11 06:09:39.957369: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
2020-04-11 06:09:39.957569: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
Error in py_get_attr_impl(x, name, silent) :
AttributeError: module 'kerastools' has no attribute 'progbar' #what is this error?
> keras::k_backend()
[1] "plaidml"
> library(keras);library(magrittr)
> x_data <- matrix(data = runif(500,0,1),nrow = 50,ncol = 5)
> y_data <- ifelse(runif(50,0,1) > 0.6, 1L,0L) %>% as.matrix()
> model = keras_model_sequential() %>% layer_dense(1, input_shape = ncol(x_data)) %>%
+ compile(loss='binary_crossentropy',optimizer='adam')
Error in py_call_impl(callable, dots$args, dots$keywords) :
PlaidMLError: PlaidML is not configured. Run plaidml-setup.
i really dont know what i'm doing wrong
Could you choose here device 1? And see whether it helps or not.
Multiple devices detected (You can override by setting PLAIDML_DEVICE_IDS).
Please choose a default device:
1 : llvm_cpu.0
2 : opencl_amd_gfx1010.0
Default device? (1,2)[1]:2
Selected device:
opencl_amd_gfx1010.0
Almost done. Multiplying some matrices...
Tile code:
function (B[X,Z], C[Z,Y]) -> (A) { A[x,y : X,Y] = +(B[x,z] * C[z,y]); }
Whew. That worked.
Save settings to C:\Users\vinne\.plaidml? (y,n)[y]:
Success!
AttributeError: module 'kerastools' has no attribute 'progbar' #what is this error?
To solve this error, please install the following: devtools::install_github('rstudio/keras')
didnt work, @henry090 . still got the Error in py_call_impl(callable, dots$args, dots$keywords) :
PlaidMLError: PlaidML is not configured. Run plaidml-setup.
doing devtools::install_github('rstudio/keras') fixed the progbar error, tho
@henry090 i even tried running plaidml-setup inside R and it still didnt work
> system("plaidml-setup", input = c("y",2,"y"))
PlaidML Setup (0.7.0)
Thanks for using PlaidML!
The feedback we have received from our users indicates an ever-increasing need
for performance, programmability, and portability. During the past few months,
we have been restructuring PlaidML to address those needs. To make all the
changes we need to make while supporting our current user base, all development
of PlaidML has moved to a branch — plaidml-v1. We will continue to maintain and
support the master branch of PlaidML and the stable 0.7.0 release.
Read more here: https://github.com/plaidml/plaidml
Some Notes:
* Bugs and other issues: https://github.com/plaidml/plaidml/issues
* Questions: https://stackoverflow.com/questions/tagged/plaidml
* Say hello: https://groups.google.com/forum/#!forum/plaidml-dev
* PlaidML is licensed under the Apache License 2.0
Default Config Devices:
llvm_cpu.0 : CPU (via LLVM)
Experimental Config Devices:
llvm_cpu.0 : CPU (via LLVM)
opencl_amd_gfx1010.0 : Advanced Micro Devices, Inc. gfx1010 (OpenCL)
Using experimental devices can cause poor performance, crashes, and other nastiness.
Enable experimental device support? (y,n)[n]:
Multiple devices detected (You can override by setting PLAIDML_DEVICE_IDS).
Please choose a default device:
1 : llvm_cpu.0
2 : opencl_amd_gfx1010.0
Default device? (1,2)[1]:
Selected device:
opencl_amd_gfx1010.0
Almost done. Multiplying some matrices...
Tile code:
function (B[X,Z], C[Z,Y]) -> (A) { A[x,y : X,Y] = +(B[x,z] * C[z,y]); }
Whew. That worked.
Save settings to C:\Users\vinne\Documents\.plaidml? (y,n)[y]:Success!
[1] 0
> library(keras);library(magrittr)
> x_data <- matrix(data = runif(500,0,1),nrow = 50,ncol = 5)
> y_data <- ifelse(runif(50,0,1) > 0.6, 1L,0L) %>% as.matrix()
>
> model = keras_model_sequential() %>% layer_dense(1, input_shape = ncol(x_data)) %>%
+ compile(loss='binary_crossentropy',optimizer='adam')
Error in py_call_impl(callable, dots$args, dots$keywords) :
PlaidMLError: PlaidML is not configured. Run plaidml-setup. >
Could you select device 1? Not the 2nd one.
Please choose a default device:
1 : llvm_cpu.0
2 : opencl_amd_gfx1010.0
Default device? (1,2)[1]:
Selected device:
opencl_amd_gfx1010.0
@henry090 something very weird is happening now
the whole point of using plaidml is using my AMD gpu (rx 5700xt), and it's working on python:
C:\Users\vinne>cd C:/Users/vinne/AppData/Local/r-miniconda/envs/r-reticulate/
C:\Users\vinne\AppData\Local\r-miniconda\envs\r-reticulate>plaidml-setup
PlaidML Setup (0.7.0)
Thanks for using PlaidML!
The feedback we have received from our users indicates an ever-increasing need
for performance, programmability, and portability. During the past few months,
we have been restructuring PlaidML to address those needs. To make all the
changes we need to make while supporting our current user base, all development
of PlaidML has moved to a branch — plaidml-v1. We will continue to maintain and
support the master branch of PlaidML and the stable 0.7.0 release.
Read more here: https://github.com/plaidml/plaidml
Some Notes:
* Bugs and other issues: https://github.com/plaidml/plaidml/issues
* Questions: https://stackoverflow.com/questions/tagged/plaidml
* Say hello: https://groups.google.com/forum/#!forum/plaidml-dev
* PlaidML is licensed under the Apache License 2.0
Default Config Devices:
llvm_cpu.0 : CPU (via LLVM)
Experimental Config Devices:
llvm_cpu.0 : CPU (via LLVM)
opencl_amd_gfx1010.0 : Advanced Micro Devices, Inc. gfx1010 (OpenCL)
Using experimental devices can cause poor performance, crashes, and other nastiness.
Enable experimental device support? (y,n)[n]:y
Multiple devices detected (You can override by setting PLAIDML_DEVICE_IDS).
Please choose a default device:
1 : llvm_cpu.0
2 : opencl_amd_gfx1010.0
Default device? (1,2)[1]:2
Selected device:
opencl_amd_gfx1010.0
Almost done. Multiplying some matrices...
Tile code:
function (B[X,Z], C[Z,Y]) -> (A) { A[x,y : X,Y] = +(B[x,z] * C[z,y]); }
Whew. That worked.
Save settings to C:\Users\vinne\.plaidml? (y,n)[y]:y
Success!
C:\Users\vinne\AppData\Local\r-miniconda\envs\r-reticulate>plaidbench keras mobilenet
Running 1024 examples with mobilenet, batch size 1, on backend plaid
INFO:plaidml:Opening device "opencl_amd_gfx1010.0"
Compiling network... Warming up... Running...
Example finished, elapsed: 21.049s (compile), 4.762s (execution)
-----------------------------------------------------------------------------------------
Network Name Inference Latency Time / FPS
-----------------------------------------------------------------------------------------
mobilenet 4.65 ms 1.00 ms / 995.48 fps
Correctness: PASS, max_error: 7.314303729799576e-06, max_abs_error: 6.407499313354492e-07, fail_ratio: 0.0
but now, on R, for some reason:
> library(reticulate)
> library(keras)
> library(magrittr)
> use_backend("plaidml")
> k_backend()
2020-04-13 01:12:13.795226: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
2020-04-13 01:12:13.795431: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
[1] "plaidml"
> x_data <- matrix(data = runif(500,0,1),nrow = 50,ncol = 5)
> y_data <- ifelse(runif(50,0,1) > 0.6, 1L,0L) %>% as.matrix()
>
> model = keras_model_sequential() %>% layer_dense(1, input_shape = ncol(x_data)) %>%
+ compile(loss='binary_crossentropy',optimizer='adam')
INFO:plaidml:Opening device "llvm_cpu.0"
>
> model %>% fit(x_data,y_data)
Epoch 1/10
32/50 [==================>...........] - ETA: 0s - loss: 4.8537
50/50 [==============================] - 0s 8ms/step - loss: 4.8197
Epoch 2/10
32/50 [==================>...........] - ETA: 0s - loss: 3.5491
50/50 [==============================] - 0s 40us/step - loss: 4.6058
Epoch 3/10
32/50 [==================>...........] - ETA: 0s - loss: 4.9083
50/50 [==============================] - 0s 50us/step - loss: 4.5728
Epoch 4/10
32/50 [==================>...........] - ETA: 0s - loss: 4.5162
50/50 [==============================] - 0s 40us/step - loss: 4.5610
Epoch 5/10
32/50 [==================>...........] - ETA: 0s - loss: 4.4878
50/50 [==============================] - 0s 50us/step - loss: 4.5481
Epoch 6/10
32/50 [==================>...........] - ETA: 0s - loss: 5.8210
50/50 [==============================] - 0s 40us/step - loss: 4.3368
Epoch 7/10
32/50 [==================>...........] - ETA: 0s - loss: 3.4350
50/50 [==============================] - 0s 40us/step - loss: 4.3134
Epoch 8/10
32/50 [==================>...........] - ETA: 0s - loss: 4.8825
50/50 [==============================] - 0s 40us/step - loss: 4.1068
Epoch 9/10
32/50 [==================>...........] - ETA: 0s - loss: 3.6617
50/50 [==============================] - 0s 40us/step - loss: 4.0672
Epoch 10/10
32/50 [==================>...........] - ETA: 0s - loss: 2.5768
50/50 [==============================] - 0s 50us/step - loss: 3.8328
>
even though its working now, its using my cpu, despite configuring it to use my gpu. do you know how to fix that?
thanks
EDIT: seems to work now, for some unknown reason. thank you very much for your help, you're a life saver
I am glad that we could make it work for everyone. Could you close this issue, please?
Note for everyone: Plaidml requires Keras 2.2.4. So, please do the following to make plaidml work:
keras::install_keras(version = '2.2.4')
Most helpful comment
I don't know exactly what you did. But it works now.... I am super thankful!!!! GREAT!! Thanks @henry090 !!!!