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