{"id":40664818,"url":"https://github.com/knime/knime-tensorflow","last_synced_at":"2026-01-21T09:07:13.111Z","repository":{"id":40669087,"uuid":"141404948","full_name":"knime/knime-tensorflow","owner":"knime","description":"KNIME Deep Learning - Tensorflow Integration","archived":false,"fork":false,"pushed_at":"2025-12-16T14:03:50.000Z","size":849,"stargazers_count":24,"open_issues_count":0,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-12-18T18:35:14.511Z","etag":null,"topics":["deeplearning","integration","java","knime","tensorflow","visualprogramming"],"latest_commit_sha":null,"homepage":"https://knime.com/deeplearning/tensorflow","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/knime.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-07-18T08:28:22.000Z","updated_at":"2025-12-15T12:37:31.000Z","dependencies_parsed_at":"2023-02-14T10:31:46.580Z","dependency_job_id":"d2fca89f-e6ba-4ae8-8930-b4e5b0cc34fe","html_url":"https://github.com/knime/knime-tensorflow","commit_stats":null,"previous_names":[],"tags_count":82,"template":false,"template_full_name":null,"purl":"pkg:github/knime/knime-tensorflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knime%2Fknime-tensorflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knime%2Fknime-tensorflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knime%2Fknime-tensorflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knime%2Fknime-tensorflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/knime","download_url":"https://codeload.github.com/knime/knime-tensorflow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/knime%2Fknime-tensorflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28630940,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deeplearning","integration","java","knime","tensorflow","visualprogramming"],"created_at":"2026-01-21T09:07:12.318Z","updated_at":"2026-01-21T09:07:13.104Z","avatar_url":"https://github.com/knime.png","language":"Java","readme":"# KNIME® TensorFlow\n\n[![Jenkins](https://jenkins.knime.com/buildStatus/icon?job=knime-tensorflow%2Fmaster)](https://jenkins.knime.com/job/knime-tensorflow/job/master/)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=KNIME_knime-tensorflow\u0026metric=alert_status\u0026token=55129ac721eacd76417f57921368ed587ad8339d)](https://sonarcloud.io/summary/new_code?id=KNIME_knime-tensorflow)\n\nThis repository is maintained by the [KNIME Team Rakete](mailto:team-rakete@knime.com).\n\nThis repository contains the plugins for the KNIME TensorFlow Integration which contains a set of KNIME nodes for executing TensorFlow models in KNIME.\n\n## Overview\n\nThe extension contains the following nodes:\n\n* The TensorFlow Network Reader node for reading [TensorFlow SavedModels](https://www.tensorflow.org/programmers_guide/saved_model#save_and_restore_models).\n* The TensorFlow Network Writer node for writing [TensorFlow SavedModels](https://www.tensorflow.org/programmers_guide/saved_model#save_and_restore_models).\n* The Keras to TensorFlow Network Converter node for converting Keras models to TensorFlow.\n\nAdditionally, the DL Python nodes provided in [KNIME Deep Learning](https://www.knime.com/deeplearning) can be used to create, edit, execute and train models with user-supplied Python scripts.\n\n![Workflow Screenshot](https://files.knime.com/sites/default/files/KNIME-TF-Screenshot.png)\n\n## TensorFlow 2 Python Bindings\n\nThe KNIME TensorFlow Integration can be used with the _DL Python Network_ nodes which allow you to create, train and modify a TensorFlow model using the powerful TensorFlow Python API.\n\nTo make use of a TensorFlow 2 function it must be wrapped into a `tf.keras.Model`.\n\n### Required Python Packages\n\n* `tensorflow\u003e=2.2.0`\n* `tensorflow-hub` (optional for using Models from the [TensorFlow Hub](https://tfhub.dev))\n\nNote that this package provides GPU support on Windows and Linux with CUDA Toolkit 10.1 and cuDNN \u003e= 7.6.\n\n### Example\n\n__Create a TensorFlow 2 model:__\n\n```python\nimport tensorflow as tf\nimport tensorflow_hub as hub\n\ninp = tf.keras.layers.Input((224,224,3))\n\n# Use a tf.keras layer\nx = tf.keras.layers.Conv2D(3, 1)(inp)\n\n# Use a Model from the TensorFlow Hub\nhub_url = \"https://tfhub.dev/google/imagenet/resnet_v2_50/feature_vector/4\"\nx = hub.KerasLayer(hub_url, trainable=False)(x)\n\n# Use a TensorFlow Op\nx = x + 10.0\nx = tf.math.subtract(x, 10.0)\n\n# Use another model\nm = tf.keras.Sequential([\n\ttf.keras.layers.Dense(100),\n\ttf.keras.layers.Dense(10)\n])\nx = m(x)\n\n# Create the output model\noutput_network = tf.keras.Model(inp, x)\n```\n\n__Train a TensorFlow 2 model:__\n\n```python\n# Get the input network\nmodel = input_network\n\n# Get the training data\nx_train = input_table.iloc[:,:4].values\ny_train = input_table.iloc[:,5:].values\n\n# Compile the model (Specify optimizer, loss and metrics)\nmodel.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])\n\n# Train the model\nmodel.fit(x=x_train, y=y_train, batch_size=8, epochs=20)\n\n# Assign the trained model to the output\noutput_network = model\n```\n\n__Execute a TensorFlow 2 model:__\n\n```python\n# Get the input data\nx = input_table.iloc[:,:4].values\n\n# Execute the model\ny = input_network.predict(x)\n\n# Create the output table\noutput_table = pd.DataFrame({'output': y[:,0]})\n```\n\n## TensorFlow 1 Python Bindings (Legacy)\n\nThe KNIME TensorFlow Integration can be used with the _DL Python Network_ nodes which allow you to create, train and modify a TensorFlow model using the powerful TensorFlow Python API.\n\nThe KNIME TensorFlow Integration provides a `TFModel` object to Python whenever a model is loaded into Python and requires you to set a `TFModel` object whenever a model should be returned to KNIME for further usage.\n\n### Required Python Packages\n\n* `tensorflow` or `tensorflow-gpu` (version: 1.13.1)\n\nNote that newer or older versions can cause problems because the TensorFlow for Java version used is 1.13.1.\n\n### Example\n\n__Create a TensorFlow model:__\n\n```\nimport tensorflow as tf\nfrom TFModel import TFModel\n\n# Create a graph\ngraph = tf.Graph()\n\n# Set the graph as default -\u003e Create every tensor in this graph\nwith graph.as_default():\n\n    # Create an input tensor\n    x = tf.placeholder(tf.float32, shape=(None,4))\n\n    # define the graph...\n\n    # Create an output tensor\n    y = tf.nn.softmax(last_layer)\n\n# Create the output network\noutput_network = TFModel(inputs={ 'input': x }, outputs={ 'output': y }, graph=graph)\n```\n\n__Use/Train/Edit a TensorFlow model:__\n\n```\nimport tensorflow as tf\nfrom TFModel import TFModel\n\n# Use the session from the TFModel\nwith input_network.session as sess:\n\n    # Get the input tensor\n    x = input_network.inputs['input']\n\n    # Get the output tensor\n    y = input_network.outputs['output']\n\n    # Use/Train/Edit the model...\n\n    # Create the output network\n    # NOTE: The whole session is passed to the model (to save the variables)\n    #       This needs to be called before the session is closed\n    output_network = TFModel(inputs={ 'input': x }, outputs={ 'output': y }, session=sess)\n```\n\n\n## Example Workflows\n\nYou can download the example workflows from the KNIME public example server (See [here how to connect...](https://www.knime.org/example-workflows)) or from the [KNIME node guide](https://www.knime.com/nodeguide/analytics/deep-learning).\n\n## Development Notes\n\nYou can find instructions on how to work with our code or develop extensions for\nKNIME Analytics Platform in the _knime-sdk-setup_ repository\non [BitBucket](https://bitbucket.org/KNIME/knime-sdk-setup)\nor [GitHub](http://github.com/knime/knime-sdk-setup).\n\n## Join the Community!\n\n* [KNIME Forum](https://tech.knime.org/forum)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknime%2Fknime-tensorflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fknime%2Fknime-tensorflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fknime%2Fknime-tensorflow/lists"}