diff --git a/tensorboard/components/tf_tensorboard/plugin-dialog.html b/tensorboard/components/tf_tensorboard/plugin-dialog.html
index 3626e0935f..22633de07a 100644
--- a/tensorboard/components/tf_tensorboard/plugin-dialog.html
+++ b/tensorboard/components/tf_tensorboard/plugin-dialog.html
@@ -84,13 +84,20 @@
[[_title]]
},
},
openNoTensorFlowDialog() {
- this.set(
- '_title',
- 'This plugin is disabled without TensorFlow');
- this.set(
- '_customMessage',
+ this.openDialog(
+ 'This plugin is disabled without TensorFlow',
'To enable this plugin in TensorBoard, install TensorFlow with '
+ '"pip install tensorflow" or equivalent.');
+ },
+ openOldTensorFlowDialog(version) {
+ this.openDialog(
+ 'This plugin is disabled without TensorFlow ' + version,
+ 'To enable this plugin in TensorBoard, install TensorFlow '
+ + version + ' or greater with "pip install tensorflow" or equivalent.');
+ },
+ openDialog(title, message) {
+ this.set('_title', title);
+ this.set('_customMessage', message);
this.$.dialog.open();
},
closeDialog() {
diff --git a/tensorboard/plugins/profile/profile_plugin_loader.py b/tensorboard/plugins/profile/profile_plugin_loader.py
index 4527ac2e82..60c4dff777 100644
--- a/tensorboard/plugins/profile/profile_plugin_loader.py
+++ b/tensorboard/plugins/profile/profile_plugin_loader.py
@@ -51,6 +51,9 @@ def load(self, context):
try:
# pylint: disable=g-import-not-at-top,unused-import
import tensorflow
+ # Available in TensorFlow 1.14 or later, so do import check
+ # pylint: disable=g-import-not-at-top,unused-import
+ from tensorflow.python.eager import profiler_client
except ImportError:
return
# pylint: disable=g-import-not-at-top
diff --git a/tensorboard/plugins/profile/tf_profile_dashboard/tf-profile-dashboard.html b/tensorboard/plugins/profile/tf_profile_dashboard/tf-profile-dashboard.html
index b5cfb66d27..d1abd5a82c 100644
--- a/tensorboard/plugins/profile/tf_profile_dashboard/tf-profile-dashboard.html
+++ b/tensorboard/plugins/profile/tf_profile_dashboard/tf-profile-dashboard.html
@@ -445,8 +445,9 @@ No profile data was found.
.request(tf_backend.getRouter().pluginsListing())
.then(plugins => {
if (!(PLUGIN_NAME in plugins)) {
- // The plugin was not created
- this.$.initialDialog.openNoTensorFlowDialog();
+ // The plugin was not created and so either didn't have
+ // TensorFlow or had an old version
+ this.$.initialDialog.openOldTensorFlowDialog('1.14');
this.set('_isAvailable', false);
} else {
// The plugin was created