install_tensorflow()
installs TensorFlow v2.16 by default.install_tensorflow()
detects a GPU on Linux, it will automatically install the cuda package and configure required symlinks for cudnn and ptxax.install_tensorflow()
installs TensorFlow v2.15 by defaultinstall_tensorflow()
changes:
install_tensorflow(cuda = FALSE)
. Aside from the Nvidia driver, no other pre-existing Nvidia CUDA packages are now necessary.configure_cudnn
argument is now superseded by the new argument cuda
.metal
, for specifying if the tensorflow-metal
pip package should be installed on Arm Macs. Defaults to TRUE
on Arm Macs.as.array()
and other methods might fail if the tensor had conversion disabled via r_to_py()
or convert = FALSE
.install_tensorflow_extras()
, tfe_enable_eager_execution()
train()
and train_and_evaluate()
now warn about their deprecation status when called. The will be removed in a future release.install_tensorflow()
changes:
envname
argument new default is "r-tensorflow"
. This means that unless the envname
argument supplied, install_tensorflow()
will now install into the "r-tensorflow"
environment, bootstrapping a venv of that name if necessary.new_env
argument. If TRUE
, any existing environment specified by envname
is deleted and created anew. Defaults to TRUE
if envname is "r-tensorflow"
, FALSE
otherwise.configure_cudnn = FALSE
to disable.pip_ignore_installed
default is now FALSE
again.tensorflow-macos
and tensorflow-metal
.pillar:type_sum()
method for Tensors, giving a more informative printout of Tensors in R tracebacks and tibbles.install_tensorflow()
now installs TF v2.11 by default.
as_tensor()
now coerces bare R atomic vectors to R arrays before conversion. As a consequence, by default, R atomic double vectors now coerce to ‘float64’ dtype tensors instead of ‘float32’.
shape()
gains the ability to accept vectors of length > 1 in ...
, including other tf.TensorShape
s. Shapes are automatically flattened.
Fixed an issue where a ListWrapper
object of trackable keras layers (e.g., as part of a keras model) would not convert to an R list.
^
will now invoke tf.square()
or tf.sqrt()
directly when appropriate|
, &
, and !
now cast arguments to ‘bool’ dtype.print()
now shows 1d shapes without a trailing commas.str()
method for tensors now returns only a single compact line; str()
on a list of tensors now does something sensible.install_tensorflow()
now install TensorFlow 2.9 by default.
install_tensorflow()
no longer requires conda on Windows, now works in a regular venv.
Comparing two partially-defined TensorShape
now returns TRUE if each dimension matches. e.g.: shape(NA, 4) == shape(NA, 4)
now returns TRUE, previously FALSE.
Tensors with dtype ‘string’ now convert to R character vectors by methods as.array()
and as.matrix()
. (previously they converted to python.builtin.bytes, or an R list of python.builtin.bytes objects)
as_tensor()
:
tf$dtypes$saturate_cast()
instead of tf$cast()
.shape
argument now accepts a tensor.shape
provided as a tensor would raise an error.tf.SparseTensor
objects now inherit from "tensorflow.tensor"
.
Updated default Tensorflow version installed by install_tensorflow()
to 2.8.
as_tensor()
gains a shape
argument, can be used to fill or reshape tensors. Scalars can be recycled to a tensor of arbitrary shape
, otherwise supplied objects are reshaped using row-major (C-style) semantics.
install_tensorflow()
now provides experimental support for Arm Macs, with the following restrictions:
install_tensorflow()
default conda_python_version changes from 3.7 to NULL.
tf.TensorShape()
’s gain format()
and print()
S3 methods.
[
method for slicing tensors now accepts NA
as a synonym for a missing or NULL
spec. For example x[NA:3]
is now valid, equivalent to x[:3]
in Python.
Default Tensorflow version installed by install_tensorflow()
updated to 2.7
shape()
now returns a tf.TensorShape()
object (Previously an R-list of NULL
s or integers).[
method for tf.TensorShape()
objects also now returns a tf.TensorShape()
. Use [[
, as.numeric
, as.integer
, and/or as.list
to convert to R objects.length()
method for tensorflow.tensor
now returns NA_integer_
for tensors with not fully defined shapes. (previously a zero length integer vector).dim()
method for tensorflow.tensor
now returns an R integer vector with NA
for dimensions that are undefined. (previously an R list with NULL
for undefined dimension)New S3 generics for tf.TensorShape()
’s: c
, length
, [<-
, [[<-
, merge
, ==
, !=
, as_tensor()
, as.list
, as.integer
, as.numeric
, as.double
, py_str
(joining previous generics [
and [[
). See ?shape
for extended examples.
Ops S3 generics for tensorflow.tensor
s that take two arguments now automatically cast a supplied non-tensor to the dtype of the supplied tensor that triggered the S3 dispatch. Casting is done via as_tensor()
. e.g., this now works: as_tensor(5L) - 2 # now returns tf.Tensor(3, shape=(), dtype=int32)
previously it would raise an error: TypeError: `x` and `y` must have the same dtype, got tf.int32 != tf.float32
Generics that now do autocasting: +, -, *, /, %/%, %%, ^, &, |, ==, !=, <, <=, >, >=
install_tensorflow()
: new argument with default pip_ignore_installed = TRUE
. This ensures that all Tensorflow dependencies like Numpy are installed by pip rather than conda.
A message with the Tensorflow version is now shown when the python module is loaded, e.g: “Loaded Tensorflow version 2.6.0”
Updated default Tensorflow version to 2.6.
Changed default in tf_function()
to autograph=TRUE
.
Added S3 generic as_tensor()
.
tfautograph added to Imports
jsonlite removed from Imports, tfestimators removed from Suggests
install_tensorflow()
.
install_tensorflow(version="2.4")
will install "2.4.2"
. Previously it would install “2.4.0”)RETICULATE_AUTOCONFIGURE=FALSE
environment variable when using non-default tensorflow installations (e.g., ‘tensorflow-cpu’) no longer required.install_tensorflow()
for automatic installation.Refactored automated tests to closer match the default installation procedure and compute environment of most user.
Expanded CI test coverage to include R devel, oldrel and 3.6.
Fixed an issue where extra packages with version constraints like install_tensorflow(extra_packages = "Pillow<8.3")
were not quoted properly.
Fixed an issue where valid tensor-like objects supplied to log(x, base)
, cospi()
, tanpi()
, and sinpi()
would raise an error.
tf_function()
(e.g., jit_compile
)expm1
S3 generic.tfe_enable_eager_execution
is deprecated. Eager mode has been the default since TF version 2.0.tf_config()
on unsuccessful installation.use_session_with_seed
(#428)set_random_seed
function that makes more sense for TensorFlow >= 2.0 (#442)Bugfix with all_dims
(#398)
Indexing for TensorShape & py_to_r
conversion (#379, #388)
Upgraded default installed version to 2.0.0.
Tensorboard log directory path fixes (#360).
Allow for v1
and v2
compat (#358).
install_tensorflow
now does not installs tfprobability
, tfhub
and other related packages.
Upgraded default installed version to 1.14.0
Refactored the install_tensorflow
code delegating to reticulate
(#333, #341): We completely delegate to installation to reticulate::py_install
, the main difference is that now the default environment name to install is r-reticulate
and not r-tensorflow
.
added option to silence TF CPP info output
tf_gpu_configured
function to check if GPU was correctly