Skip to content

Cannot install a version of tensorflow that allows me to use GPU #611

@isaaceckert

Description

@isaaceckert

Working on a Apple M1 Pro mac in RStudio. I can install everything fine but they tensorflow can't find any local GPUs so the models take a long time to fit.

For example,

library(tensorflow)
tf$config$list_physical_devices("GPU")

Give me:

list()

Session info and stuff below:

> reticulate::py_config()
python:         /Users/isaaceckert/.virtualenvs/r-tensorflow/bin/python
libpython:      /Users/isaaceckert/.pyenv/versions/3.10.15/lib/libpython3.10.dylib
pythonhome:     /Users/isaaceckert/.virtualenvs/r-tensorflow:/Users/isaaceckert/.virtualenvs/r-tensorflow
version:        3.10.15 (main, Nov 20 2024, 16:40:35) [Clang 16.0.0 (clang-1600.0.26.4)]
numpy:          /Users/isaaceckert/.virtualenvs/r-tensorflow/lib/python3.10/site-packages/numpy
numpy_version:  1.26.4
tensorflow:     /Users/isaaceckert/.virtualenvs/r-tensorflow/lib/python3.10/site-packages/tensorflow

NOTE: Python version was forced by VIRTUAL_ENV
> tensorflow::tf_config()
TensorFlow v2.15.1 (~/.virtualenvs/r-tensorflow/lib/python3.10/site-packages/tensorflow)
Python vError in cat("Python v", x$python_version, " (", aliased(x$python), ")\n",  : 
  argument 2 (type 'list') cannot be handled by 'cat'
> reticulate::import("tensorflow")
Module(tensorflow)
> reticulate::py_last_error()

── Python Exception Message ─────────────────────────────────────────────────────────────────────────────────────
AttributeError: partially initialized module 'tensorflow' has no attribute 'constant' (most likely due to a circular import)

── R Traceback ──────────────────────────────────────────────────────────────────────────────────────────────────
     ▆
  1. ├─tf$constant
  2. ├─reticulate:::`$.python.builtin.module`(tf, constant)
  3. │ └─reticulate::py_get_attr(x, name, TRUE)
  4. ├─reticulate (local) `<fn>`()
  5. │ └─reticulate::configure_environment()
  6. │   └─reticulate:::python_package_requirements(package)
  7. │     └─base::lapply(...)
  8. │       └─reticulate (local) FUN(X[[i]], ...)
  9. │         ├─base::tryCatch(...)
 10. │         │ └─base (local) tryCatchList(expr, classes, parentenv, handlers)
 11. │         │   └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
 12. │         │     └─base (local) doTryCatch(return(expr), name, parentenv, handler)
 13. │         └─reticulate:::python_package_requirements_find(package)
 14. │           └─base::system.file("DESCRIPTION", package = package)
 15. │             └─base::find.package(package, lib.loc, quiet = TRUE)
 16. │               └─base::apply(!is.na(db), 1L, all)
 17. ├─base::suppressWarnings(base::try(tf$constant, silent = TRUE))
 18. │ └─base::withCallingHandlers(...)
 19. ├─base::try(tf$constant, silent = TRUE)
 20. │ └─base::tryCatch(...)
 21. │   └─base (local) tryCatchList(expr, classes, parentenv, handlers)
 22. │     └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
 23. │       └─base (local) doTryCatch(return(expr), name, parentenv, handler)
 24. ├─tf$constant
 25. ├─reticulate:::`$.python.builtin.module`(tf, constant)
 26. │ └─reticulate::py_get_attr(x, name, TRUE)
 27. ├─reticulate (local) `<fn>`(`<python.builtin.module>`)
 28. │ ├─base::tryCatch(import(module), error = clear_error_handler())
 29. │ │ └─base (local) tryCatchList(expr, classes, parentenv, handlers)
 30. │ │   └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
 31. │ │     └─base (local) doTryCatch(return(expr), name, parentenv, handler)
 32. │ └─reticulate::import(module)
 33. │   └─reticulate:::py_module_import(module, convert = convert)
 34. ├─base::suppressWarnings(base::try(tf$constant, silent = TRUE))
 35. │ └─base::withCallingHandlers(...)
 36. ├─base::try(tf$constant, silent = TRUE)
 37. │ └─base::tryCatch(...)
 38. │   └─base (local) tryCatchList(expr, classes, parentenv, handlers)
 39. │     └─base (local) tryCatchOne(expr, names, parentenv, handlers[[1L]])
 40. │       └─base (local) doTryCatch(return(expr), name, parentenv, handler)
 41. ├─tf$constant
 42. └─reticulate:::`$.python.builtin.module`(tf, constant)
 43.   └─reticulate::py_get_attr(x, name, FALSE)
See `reticulate::py_last_error()$r_trace$full_call` for more details.
> sessionInfo()
R version 4.3.0 (2023-04-21)
Platform: aarch64-apple-darwin20 (64-bit)
Running under: macOS 14.6.1

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
LAPACK: /Library/Frameworks/R.framework/Versions/4.3-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.11.0

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

time zone: America/Toronto
tzcode source: internal

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] tensorflow_2.16.0.9000 keras_2.15.0          

loaded via a namespace (and not attached):
 [1] utf8_1.2.4        R6_2.5.1          base64enc_0.1-3   Matrix_1.6-1      lattice_0.21-8    reticulate_1.40.0
 [7] magrittr_2.0.3    rappdirs_0.3.3    glue_1.8.0        png_0.1-8         generics_0.1.3    lifecycle_1.0.4  
[13] cli_3.6.3         fansi_1.0.6       vctrs_0.6.5       grid_4.3.0        withr_3.0.2       zeallot_0.1.0    
[19] tfruns_1.5.3      compiler_4.3.0    rstudioapi_0.17.1 tools_4.3.0       whisker_0.4.1     pillar_1.9.0     
[25] Rcpp_1.0.13-1     rlang_1.1.4       jsonlite_1.8.9   

Any help is very much appreciated! Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions