The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
tfevents allows logging data from machine learning experiments to a file format that can be later consumed by TensorBoard in order to generate visualizations.
You can install tfevents from CRAN with:
install.packages("tfevents")
You can install the development version of tfevents from GitHub with:
You need to have cmake
on your path. See installation
instructions in the cmake install
webpage - or:
If you use brew
on MacOS you can run:
brew install cmake
Or on linux install the cmake
library, for example on
Debian systems:
sudo apt install cmake
# install.packages("devtools")
::install_github("mlverse/tfevents") devtools
The main entrypoint in tfevents API is the log_event
function. It can be used to log summaries like scalars,
images, audio (Coming soon), histograms (Coming soon) and arbitrary
tensors (soon) to a log directory, which we like to call
logdir
. You can later point TensorBoard to this
logdir
to visualize the results.
library(tfevents)
Summaries are always associated to a step in the TensorBoard API, and
log_event
automatically increases the
step
everytime it’s called, unless you
provide the step
argument.
Let’s start by logging some metrics:
<- 10
epochs for (i in seq_len(epochs)) {
# training code would go here
log_event(
train = list(loss = runif(1), acc = runif(1)),
valid = list(loss = runif(1), acc = runif(1))
) }
By default this will create a logs
directory in your
working directory and write metrics to it - you can change the default
logdir
using context like with_logdir
or
globally with set_default_logdir()
.
Since we passed a nested list of metrics, log_event
will
create subdirectories under logs
to write metrics for each
group.
::dir_tree("logs")
fs#> logs
#> ├── train
#> │ └── events.out.tfevents.1719410709.v2
#> └── valid
#> └── events.out.tfevents.1719410709.v2
You can later point TensorBoard to that logdir using TensorBoard’s
command line interface or tensorflow’s utility function
tensorboard()
::tensorboard(normalizePath("logs"), port = 6060)
tensorflow#> Started TensorBoard at http://127.0.0.1:6060
TensorBoard will display the results in a dashbboard, similar to one you can see in the screenshot below:
You can learn more in the tfevents website.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.