Latest commit

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

VGSLify: Variable-size Graph Specification for TensorFlow & PyTorch

PyPIDownloadsLicense

VGSLify simplifies defining, training, and interpreting deep learning models using the Variable-size Graph Specification Language (VGSL). Inspired by Tesseract's VGSL specs, VGSLify enhances and streamlines the process for both TensorFlow and PyTorch.

Table of Contents

Installation

Basic Installation

To install VGSLify without any deep learning backend, run:

pip install vgslify

This installs only the core functionalities of VGSLify without torch or tensorflow.

Installing with a Specific Backend

VGSLify supports both TensorFlow and PyTorch. You can install it with the required backend:

# For TensorFlow (latest compatible version)
pip install vgslify[tensorflow]
# For PyTorch (latest compatible version)
pip install vgslify[torch]

By default, this will install:

  • tensorflow (latest stable version)
  • torch (latest stable version)

Controlling Backend Versions

If you need a specific version of torch or tensorflow, install VGSLify first and then manually install the backend:

pip install vgslify
pip install torch==2.1.0 # Example for PyTorch
pip install tensorflow==2.14 # Example for TensorFlow

Alternatively, you can specify the version during installation:

pip install vgslify[torch] torch==2.1.0
pip install vgslify[tensorflow] tensorflow==2.14

Note: If a different version of torch or tensorflow is already installed, pip may not downgrade it automatically. Use --force-reinstall or --upgrade if necessary:

pip install --upgrade --force-reinstall torch==2.1.0

Verify installation

To check that VGSLify is installed correctly, run:

python -c "import vgslify; print(vgslify.__version__)"

How VGSL Works

VGSL uses concise strings to define model architectures. For example:

None,None,64,1 Cr3,3,32 Mp2,2 Cr3,3,64 Mp2,2 Rc3 Fr64 D20 Lrs128 D20 Lrs64 D20 Fs92

Each part represents a layer: input, convolution, pooling, reshaping, fully connected, LSTM, and output. VGSL allows specifying activation functions for customization.

Quick Start

Generating a Model with VGSLify

fromvgslifyimportVGSLModelGenerator# Define the VGSL specificationvgsl_spec="None,None,64,1 Cr3,3,32 Mp2,2 Fs92"# Choose backend: "tensorflow", "torch", or "auto" (defaults to whichever is available)vgsl_gn=VGSLModelGenerator(backend="tensorflow") model=vgsl_gn.generate_model(vgsl_spec, model_name="MyModel")
model.summary()
vgsl_gn=VGSLModelGenerator(backend="torch") # Switch to PyTorchmodel=vgsl_gn.generate_model(vgsl_spec, model_name="MyTorchModel")
print(model)

Creating Individual Layers with VGSLify

fromvgslifyimportVGSLModelGeneratorvgsl_gn=VGSLModelGenerator(backend="tensorflow")
conv2d_layer=vgsl_gn.construct_layer("Cr3,3,64")
# Integrate into an existing model:# model = tf.keras.Sequential()# model.add(conv2d_layer) # ...# Example with generate_history:history=vgsl_gn.generate_history("None,None,64,1 Cr3,3,32 Mp2,2 Fs92")
forlayerinhistory:
print(layer)

Converting Models to VGSL

fromvgslifyimportmodel_to_specimporttensorflowastf# Or import torch.nn as nn# TensorFlow example:model=tf.keras.models.load_model("path_to_your_model.keras") # If loading from file# PyTorch example:# model = MyPyTorchModel() # Assuming MyPyTorchModel is defined elsewherevgsl_spec_string=model_to_spec(model)
print(vgsl_spec_string)

Note: Flatten/Reshape layers might require manual input shape adjustment in the generated VGSL.

Additional Documentation

See the VGSL Documentation for more details on supported layers and their specifications.

Contributing

Contributions are welcome! Fork the repository, set up your environment, make changes, and submit a pull request. Create issues for bugs or suggestions.

License

MIT License. See LICENSE file.

Acknowledgements

Thanks to the creators and contributors of the original VGSL specification.

About

Rapidly prototype TensorFlow and PyTorch models using VGSL (Variable-size Graph Specification Language) and convert them back to VGSL spec.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

VGSLify: Variable-size Graph Specification for TensorFlow & PyTorch

PyPIDownloadsLicense

VGSLify simplifies defining, training, and interpreting deep learning models using the Variable-size Graph Specification Language (VGSL). Inspired by Tesseract's VGSL specs, VGSLify enhances and streamlines the process for both TensorFlow and PyTorch.

Table of Contents

Installation

Basic Installation

To install VGSLify without any deep learning backend, run:

pip install vgslify

This installs only the core functionalities of VGSLify without torch or tensorflow.

Installing with a Specific Backend

VGSLify supports both TensorFlow and PyTorch. You can install it with the required backend:

# For TensorFlow (latest compatible version)
pip install vgslify[tensorflow]
# For PyTorch (latest compatible version)
pip install vgslify[torch]

By default, this will install:

  • tensorflow (latest stable version)
  • torch (latest stable version)

Controlling Backend Versions

If you need a specific version of torch or tensorflow, install VGSLify first and then manually install the backend:

pip install vgslify
pip install torch==2.1.0 # Example for PyTorch
pip install tensorflow==2.14 # Example for TensorFlow

Alternatively, you can specify the version during installation:

pip install vgslify[torch] torch==2.1.0
pip install vgslify[tensorflow] tensorflow==2.14

Note: If a different version of torch or tensorflow is already installed, pip may not downgrade it automatically. Use --force-reinstall or --upgrade if necessary:

pip install --upgrade --force-reinstall torch==2.1.0

Verify installation

To check that VGSLify is installed correctly, run:

python -c "import vgslify; print(vgslify.__version__)"

How VGSL Works

VGSL uses concise strings to define model architectures. For example:

None,None,64,1 Cr3,3,32 Mp2,2 Cr3,3,64 Mp2,2 Rc3 Fr64 D20 Lrs128 D20 Lrs64 D20 Fs92

Each part represents a layer: input, convolution, pooling, reshaping, fully connected, LSTM, and output. VGSL allows specifying activation functions for customization.

Quick Start

Generating a Model with VGSLify

fromvgslifyimportVGSLModelGenerator# Define the VGSL specificationvgsl_spec="None,None,64,1 Cr3,3,32 Mp2,2 Fs92"# Choose backend: "tensorflow", "torch", or "auto" (defaults to whichever is available)vgsl_gn=VGSLModelGenerator(backend="tensorflow") model=vgsl_gn.generate_model(vgsl_spec, model_name="MyModel")
model.summary()
vgsl_gn=VGSLModelGenerator(backend="torch") # Switch to PyTorchmodel=vgsl_gn.generate_model(vgsl_spec, model_name="MyTorchModel")
print(model)

Creating Individual Layers with VGSLify

fromvgslifyimportVGSLModelGeneratorvgsl_gn=VGSLModelGenerator(backend="tensorflow")
conv2d_layer=vgsl_gn.construct_layer("Cr3,3,64")
# Integrate into an existing model:# model = tf.keras.Sequential()# model.add(conv2d_layer) # ...# Example with generate_history:history=vgsl_gn.generate_history("None,None,64,1 Cr3,3,32 Mp2,2 Fs92")
forlayerinhistory:
print(layer)

Converting Models to VGSL

fromvgslifyimportmodel_to_specimporttensorflowastf# Or import torch.nn as nn# TensorFlow example:model=tf.keras.models.load_model("path_to_your_model.keras") # If loading from file# PyTorch example:# model = MyPyTorchModel() # Assuming MyPyTorchModel is defined elsewherevgsl_spec_string=model_to_spec(model)
print(vgsl_spec_string)

Note: Flatten/Reshape layers might require manual input shape adjustment in the generated VGSL.

Additional Documentation

See the VGSL Documentation for more details on supported layers and their specifications.

Contributing

Contributions are welcome! Fork the repository, set up your environment, make changes, and submit a pull request. Create issues for bugs or suggestions.

License

MIT License. See LICENSE file.

Acknowledgements

Thanks to the creators and contributors of the original VGSL specification.

About

Rapidly prototype TensorFlow and PyTorch models using VGSL (Variable-size Graph Specification Language) and convert them back to VGSL spec.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

VGSLify: Variable-size Graph Specification for TensorFlow & PyTorch

PyPIDownloadsLicense

VGSLify simplifies defining, training, and interpreting deep learning models using the Variable-size Graph Specification Language (VGSL). Inspired by Tesseract's VGSL specs, VGSLify enhances and streamlines the process for both TensorFlow and PyTorch.

Table of Contents

Installation

Basic Installation

To install VGSLify without any deep learning backend, run:

pip install vgslify

This installs only the core functionalities of VGSLify without torch or tensorflow.

Installing with a Specific Backend

VGSLify supports both TensorFlow and PyTorch. You can install it with the required backend:

# For TensorFlow (latest compatible version)
pip install vgslify[tensorflow]
# For PyTorch (latest compatible version)
pip install vgslify[torch]

By default, this will install:

  • tensorflow (latest stable version)
  • torch (latest stable version)

Controlling Backend Versions

If you need a specific version of torch or tensorflow, install VGSLify first and then manually install the backend:

pip install vgslify
pip install torch==2.1.0 # Example for PyTorch
pip install tensorflow==2.14 # Example for TensorFlow

Alternatively, you can specify the version during installation:

pip install vgslify[torch] torch==2.1.0
pip install vgslify[tensorflow] tensorflow==2.14

Note: If a different version of torch or tensorflow is already installed, pip may not downgrade it automatically. Use --force-reinstall or --upgrade if necessary:

pip install --upgrade --force-reinstall torch==2.1.0

Verify installation

To check that VGSLify is installed correctly, run:

python -c "import vgslify; print(vgslify.__version__)"

How VGSL Works

VGSL uses concise strings to define model architectures. For example:

None,None,64,1 Cr3,3,32 Mp2,2 Cr3,3,64 Mp2,2 Rc3 Fr64 D20 Lrs128 D20 Lrs64 D20 Fs92

Each part represents a layer: input, convolution, pooling, reshaping, fully connected, LSTM, and output. VGSL allows specifying activation functions for customization.

Quick Start

Generating a Model with VGSLify

fromvgslifyimportVGSLModelGenerator# Define the VGSL specificationvgsl_spec="None,None,64,1 Cr3,3,32 Mp2,2 Fs92"# Choose backend: "tensorflow", "torch", or "auto" (defaults to whichever is available)vgsl_gn=VGSLModelGenerator(backend="tensorflow") model=vgsl_gn.generate_model(vgsl_spec, model_name="MyModel")
model.summary()
vgsl_gn=VGSLModelGenerator(backend="torch") # Switch to PyTorchmodel=vgsl_gn.generate_model(vgsl_spec, model_name="MyTorchModel")
print(model)

Creating Individual Layers with VGSLify

fromvgslifyimportVGSLModelGeneratorvgsl_gn=VGSLModelGenerator(backend="tensorflow")
conv2d_layer=vgsl_gn.construct_layer("Cr3,3,64")
# Integrate into an existing model:# model = tf.keras.Sequential()# model.add(conv2d_layer) # ...# Example with generate_history:history=vgsl_gn.generate_history("None,None,64,1 Cr3,3,32 Mp2,2 Fs92")
forlayerinhistory:
print(layer)

Converting Models to VGSL

fromvgslifyimportmodel_to_specimporttensorflowastf# Or import torch.nn as nn# TensorFlow example:model=tf.keras.models.load_model("path_to_your_model.keras") # If loading from file# PyTorch example:# model = MyPyTorchModel() # Assuming MyPyTorchModel is defined elsewherevgsl_spec_string=model_to_spec(model)
print(vgsl_spec_string)

Note: Flatten/Reshape layers might require manual input shape adjustment in the generated VGSL.

Additional Documentation

See the VGSL Documentation for more details on supported layers and their specifications.

Contributing

Contributions are welcome! Fork the repository, set up your environment, make changes, and submit a pull request. Create issues for bugs or suggestions.

License

MIT License. See LICENSE file.

Acknowledgements

Thanks to the creators and contributors of the original VGSL specification.

About

Rapidly prototype TensorFlow and PyTorch models using VGSL (Variable-size Graph Specification Language) and convert them back to VGSL spec.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

VGSLify: Variable-size Graph Specification for TensorFlow & PyTorch

PyPIDownloadsLicense

VGSLify simplifies defining, training, and interpreting deep learning models using the Variable-size Graph Specification Language (VGSL). Inspired by Tesseract's VGSL specs, VGSLify enhances and streamlines the process for both TensorFlow and PyTorch.

Table of Contents

Installation

Basic Installation

To install VGSLify without any deep learning backend, run:

pip install vgslify

This installs only the core functionalities of VGSLify without torch or tensorflow.

Installing with a Specific Backend

VGSLify supports both TensorFlow and PyTorch. You can install it with the required backend:

# For TensorFlow (latest compatible version)
pip install vgslify[tensorflow]
# For PyTorch (latest compatible version)
pip install vgslify[torch]

By default, this will install:

  • tensorflow (latest stable version)
  • torch (latest stable version)

Controlling Backend Versions

If you need a specific version of torch or tensorflow, install VGSLify first and then manually install the backend:

pip install vgslify
pip install torch==2.1.0 # Example for PyTorch
pip install tensorflow==2.14 # Example for TensorFlow

Alternatively, you can specify the version during installation:

pip install vgslify[torch] torch==2.1.0
pip install vgslify[tensorflow] tensorflow==2.14

Note: If a different version of torch or tensorflow is already installed, pip may not downgrade it automatically. Use --force-reinstall or --upgrade if necessary:

pip install --upgrade --force-reinstall torch==2.1.0

Verify installation

To check that VGSLify is installed correctly, run:

python -c "import vgslify; print(vgslify.__version__)"

How VGSL Works

VGSL uses concise strings to define model architectures. For example:

None,None,64,1 Cr3,3,32 Mp2,2 Cr3,3,64 Mp2,2 Rc3 Fr64 D20 Lrs128 D20 Lrs64 D20 Fs92

Each part represents a layer: input, convolution, pooling, reshaping, fully connected, LSTM, and output. VGSL allows specifying activation functions for customization.

Quick Start

Generating a Model with VGSLify

fromvgslifyimportVGSLModelGenerator# Define the VGSL specificationvgsl_spec="None,None,64,1 Cr3,3,32 Mp2,2 Fs92"# Choose backend: "tensorflow", "torch", or "auto" (defaults to whichever is available)vgsl_gn=VGSLModelGenerator(backend="tensorflow") model=vgsl_gn.generate_model(vgsl_spec, model_name="MyModel")
model.summary()
vgsl_gn=VGSLModelGenerator(backend="torch") # Switch to PyTorchmodel=vgsl_gn.generate_model(vgsl_spec, model_name="MyTorchModel")
print(model)

Creating Individual Layers with VGSLify

fromvgslifyimportVGSLModelGeneratorvgsl_gn=VGSLModelGenerator(backend="tensorflow")
conv2d_layer=vgsl_gn.construct_layer("Cr3,3,64")
# Integrate into an existing model:# model = tf.keras.Sequential()# model.add(conv2d_layer) # ...# Example with generate_history:history=vgsl_gn.generate_history("None,None,64,1 Cr3,3,32 Mp2,2 Fs92")
forlayerinhistory:
print(layer)

Converting Models to VGSL

fromvgslifyimportmodel_to_specimporttensorflowastf# Or import torch.nn as nn# TensorFlow example:model=tf.keras.models.load_model("path_to_your_model.keras") # If loading from file# PyTorch example:# model = MyPyTorchModel() # Assuming MyPyTorchModel is defined elsewherevgsl_spec_string=model_to_spec(model)
print(vgsl_spec_string)

Note: Flatten/Reshape layers might require manual input shape adjustment in the generated VGSL.

Additional Documentation

See the VGSL Documentation for more details on supported layers and their specifications.

Contributing

Contributions are welcome! Fork the repository, set up your environment, make changes, and submit a pull request. Create issues for bugs or suggestions.

License

MIT License. See LICENSE file.

Acknowledgements

Thanks to the creators and contributors of the original VGSL specification.

About

Rapidly prototype TensorFlow and PyTorch models using VGSL (Variable-size Graph Specification Language) and convert them back to VGSL spec.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

VGSLify: Variable-size Graph Specification for TensorFlow & PyTorch

PyPIDownloadsLicense

VGSLify simplifies defining, training, and interpreting deep learning models using the Variable-size Graph Specification Language (VGSL). Inspired by Tesseract's VGSL specs, VGSLify enhances and streamlines the process for both TensorFlow and PyTorch.

Table of Contents

Installation

Basic Installation

To install VGSLify without any deep learning backend, run:

pip install vgslify

This installs only the core functionalities of VGSLify without torch or tensorflow.

Installing with a Specific Backend

VGSLify supports both TensorFlow and PyTorch. You can install it with the required backend:

# For TensorFlow (latest compatible version)
pip install vgslify[tensorflow]
# For PyTorch (latest compatible version)
pip install vgslify[torch]

By default, this will install:

  • tensorflow (latest stable version)
  • torch (latest stable version)

Controlling Backend Versions

If you need a specific version of torch or tensorflow, install VGSLify first and then manually install the backend:

pip install vgslify
pip install torch==2.1.0 # Example for PyTorch
pip install tensorflow==2.14 # Example for TensorFlow

Alternatively, you can specify the version during installation:

pip install vgslify[torch] torch==2.1.0
pip install vgslify[tensorflow] tensorflow==2.14

Note: If a different version of torch or tensorflow is already installed, pip may not downgrade it automatically. Use --force-reinstall or --upgrade if necessary:

pip install --upgrade --force-reinstall torch==2.1.0

Verify installation

To check that VGSLify is installed correctly, run:

python -c "import vgslify; print(vgslify.__version__)"

How VGSL Works

VGSL uses concise strings to define model architectures. For example:

None,None,64,1 Cr3,3,32 Mp2,2 Cr3,3,64 Mp2,2 Rc3 Fr64 D20 Lrs128 D20 Lrs64 D20 Fs92

Each part represents a layer: input, convolution, pooling, reshaping, fully connected, LSTM, and output. VGSL allows specifying activation functions for customization.

Quick Start

Generating a Model with VGSLify

fromvgslifyimportVGSLModelGenerator# Define the VGSL specificationvgsl_spec="None,None,64,1 Cr3,3,32 Mp2,2 Fs92"# Choose backend: "tensorflow", "torch", or "auto" (defaults to whichever is available)vgsl_gn=VGSLModelGenerator(backend="tensorflow") model=vgsl_gn.generate_model(vgsl_spec, model_name="MyModel")
model.summary()
vgsl_gn=VGSLModelGenerator(backend="torch") # Switch to PyTorchmodel=vgsl_gn.generate_model(vgsl_spec, model_name="MyTorchModel")
print(model)

Creating Individual Layers with VGSLify

fromvgslifyimportVGSLModelGeneratorvgsl_gn=VGSLModelGenerator(backend="tensorflow")
conv2d_layer=vgsl_gn.construct_layer("Cr3,3,64")
# Integrate into an existing model:# model = tf.keras.Sequential()# model.add(conv2d_layer) # ...# Example with generate_history:history=vgsl_gn.generate_history("None,None,64,1 Cr3,3,32 Mp2,2 Fs92")
forlayerinhistory:
print(layer)

Converting Models to VGSL

fromvgslifyimportmodel_to_specimporttensorflowastf# Or import torch.nn as nn# TensorFlow example:model=tf.keras.models.load_model("path_to_your_model.keras") # If loading from file# PyTorch example:# model = MyPyTorchModel() # Assuming MyPyTorchModel is defined elsewherevgsl_spec_string=model_to_spec(model)
print(vgsl_spec_string)

Note: Flatten/Reshape layers might require manual input shape adjustment in the generated VGSL.

Additional Documentation

See the VGSL Documentation for more details on supported layers and their specifications.

Contributing

Contributions are welcome! Fork the repository, set up your environment, make changes, and submit a pull request. Create issues for bugs or suggestions.

License

MIT License. See LICENSE file.

Acknowledgements

Thanks to the creators and contributors of the original VGSL specification.

About

Rapidly prototype TensorFlow and PyTorch models using VGSL (Variable-size Graph Specification Language) and convert them back to VGSL spec.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

VGSLify: Variable-size Graph Specification for TensorFlow & PyTorch

PyPIDownloadsLicense

VGSLify simplifies defining, training, and interpreting deep learning models using the Variable-size Graph Specification Language (VGSL). Inspired by Tesseract's VGSL specs, VGSLify enhances and streamlines the process for both TensorFlow and PyTorch.

Table of Contents

Installation

Basic Installation

To install VGSLify without any deep learning backend, run:

pip install vgslify

This installs only the core functionalities of VGSLify without torch or tensorflow.

Installing with a Specific Backend

VGSLify supports both TensorFlow and PyTorch. You can install it with the required backend:

# For TensorFlow (latest compatible version)
pip install vgslify[tensorflow]
# For PyTorch (latest compatible version)
pip install vgslify[torch]

By default, this will install:

  • tensorflow (latest stable version)
  • torch (latest stable version)

Controlling Backend Versions

If you need a specific version of torch or tensorflow, install VGSLify first and then manually install the backend:

pip install vgslify
pip install torch==2.1.0 # Example for PyTorch
pip install tensorflow==2.14 # Example for TensorFlow

Alternatively, you can specify the version during installation:

pip install vgslify[torch] torch==2.1.0
pip install vgslify[tensorflow] tensorflow==2.14

Note: If a different version of torch or tensorflow is already installed, pip may not downgrade it automatically. Use --force-reinstall or --upgrade if necessary:

pip install --upgrade --force-reinstall torch==2.1.0

Verify installation

To check that VGSLify is installed correctly, run:

python -c "import vgslify; print(vgslify.__version__)"

How VGSL Works

VGSL uses concise strings to define model architectures. For example:

None,None,64,1 Cr3,3,32 Mp2,2 Cr3,3,64 Mp2,2 Rc3 Fr64 D20 Lrs128 D20 Lrs64 D20 Fs92

Each part represents a layer: input, convolution, pooling, reshaping, fully connected, LSTM, and output. VGSL allows specifying activation functions for customization.

Quick Start

Generating a Model with VGSLify

fromvgslifyimportVGSLModelGenerator# Define the VGSL specificationvgsl_spec="None,None,64,1 Cr3,3,32 Mp2,2 Fs92"# Choose backend: "tensorflow", "torch", or "auto" (defaults to whichever is available)vgsl_gn=VGSLModelGenerator(backend="tensorflow") model=vgsl_gn.generate_model(vgsl_spec, model_name="MyModel")
model.summary()
vgsl_gn=VGSLModelGenerator(backend="torch") # Switch to PyTorchmodel=vgsl_gn.generate_model(vgsl_spec, model_name="MyTorchModel")
print(model)

Creating Individual Layers with VGSLify

fromvgslifyimportVGSLModelGeneratorvgsl_gn=VGSLModelGenerator(backend="tensorflow")
conv2d_layer=vgsl_gn.construct_layer("Cr3,3,64")
# Integrate into an existing model:# model = tf.keras.Sequential()# model.add(conv2d_layer) # ...# Example with generate_history:history=vgsl_gn.generate_history("None,None,64,1 Cr3,3,32 Mp2,2 Fs92")
forlayerinhistory:
print(layer)

Converting Models to VGSL

fromvgslifyimportmodel_to_specimporttensorflowastf# Or import torch.nn as nn# TensorFlow example:model=tf.keras.models.load_model("path_to_your_model.keras") # If loading from file# PyTorch example:# model = MyPyTorchModel() # Assuming MyPyTorchModel is defined elsewherevgsl_spec_string=model_to_spec(model)
print(vgsl_spec_string)

Note: Flatten/Reshape layers might require manual input shape adjustment in the generated VGSL.

Additional Documentation

See the VGSL Documentation for more details on supported layers and their specifications.

Contributing

Contributions are welcome! Fork the repository, set up your environment, make changes, and submit a pull request. Create issues for bugs or suggestions.

License

MIT License. See LICENSE file.

Acknowledgements

Thanks to the creators and contributors of the original VGSL specification.

About

Rapidly prototype TensorFlow and PyTorch models using VGSL (Variable-size Graph Specification Language) and convert them back to VGSL spec.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

VGSLify: Variable-size Graph Specification for TensorFlow & PyTorch

PyPIDownloadsLicense

VGSLify simplifies defining, training, and interpreting deep learning models using the Variable-size Graph Specification Language (VGSL). Inspired by Tesseract's VGSL specs, VGSLify enhances and streamlines the process for both TensorFlow and PyTorch.

Table of Contents

Installation

Basic Installation

To install VGSLify without any deep learning backend, run:

pip install vgslify

This installs only the core functionalities of VGSLify without torch or tensorflow.

Installing with a Specific Backend

VGSLify supports both TensorFlow and PyTorch. You can install it with the required backend:

# For TensorFlow (latest compatible version)
pip install vgslify[tensorflow]
# For PyTorch (latest compatible version)
pip install vgslify[torch]

By default, this will install:

  • tensorflow (latest stable version)
  • torch (latest stable version)

Controlling Backend Versions

If you need a specific version of torch or tensorflow, install VGSLify first and then manually install the backend:

pip install vgslify
pip install torch==2.1.0 # Example for PyTorch
pip install tensorflow==2.14 # Example for TensorFlow

Alternatively, you can specify the version during installation:

pip install vgslify[torch] torch==2.1.0
pip install vgslify[tensorflow] tensorflow==2.14

Note: If a different version of torch or tensorflow is already installed, pip may not downgrade it automatically. Use --force-reinstall or --upgrade if necessary:

pip install --upgrade --force-reinstall torch==2.1.0

Verify installation

To check that VGSLify is installed correctly, run:

python -c "import vgslify; print(vgslify.__version__)"

How VGSL Works

VGSL uses concise strings to define model architectures. For example:

None,None,64,1 Cr3,3,32 Mp2,2 Cr3,3,64 Mp2,2 Rc3 Fr64 D20 Lrs128 D20 Lrs64 D20 Fs92

Each part represents a layer: input, convolution, pooling, reshaping, fully connected, LSTM, and output. VGSL allows specifying activation functions for customization.

Quick Start

Generating a Model with VGSLify

fromvgslifyimportVGSLModelGenerator# Define the VGSL specificationvgsl_spec="None,None,64,1 Cr3,3,32 Mp2,2 Fs92"# Choose backend: "tensorflow", "torch", or "auto" (defaults to whichever is available)vgsl_gn=VGSLModelGenerator(backend="tensorflow") model=vgsl_gn.generate_model(vgsl_spec, model_name="MyModel")
model.summary()
vgsl_gn=VGSLModelGenerator(backend="torch") # Switch to PyTorchmodel=vgsl_gn.generate_model(vgsl_spec, model_name="MyTorchModel")
print(model)

Creating Individual Layers with VGSLify

fromvgslifyimportVGSLModelGeneratorvgsl_gn=VGSLModelGenerator(backend="tensorflow")
conv2d_layer=vgsl_gn.construct_layer("Cr3,3,64")
# Integrate into an existing model:# model = tf.keras.Sequential()# model.add(conv2d_layer) # ...# Example with generate_history:history=vgsl_gn.generate_history("None,None,64,1 Cr3,3,32 Mp2,2 Fs92")
forlayerinhistory:
print(layer)

Converting Models to VGSL

fromvgslifyimportmodel_to_specimporttensorflowastf# Or import torch.nn as nn# TensorFlow example:model=tf.keras.models.load_model("path_to_your_model.keras") # If loading from file# PyTorch example:# model = MyPyTorchModel() # Assuming MyPyTorchModel is defined elsewherevgsl_spec_string=model_to_spec(model)
print(vgsl_spec_string)

Note: Flatten/Reshape layers might require manual input shape adjustment in the generated VGSL.

Additional Documentation

See the VGSL Documentation for more details on supported layers and their specifications.

Contributing

Contributions are welcome! Fork the repository, set up your environment, make changes, and submit a pull request. Create issues for bugs or suggestions.

License

MIT License. See LICENSE file.

Acknowledgements

Thanks to the creators and contributors of the original VGSL specification.

About

Rapidly prototype TensorFlow and PyTorch models using VGSL (Variable-size Graph Specification Language) and convert them back to VGSL spec.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

VGSLify: Variable-size Graph Specification for TensorFlow & PyTorch

PyPIDownloadsLicense

VGSLify simplifies defining, training, and interpreting deep learning models using the Variable-size Graph Specification Language (VGSL). Inspired by Tesseract's VGSL specs, VGSLify enhances and streamlines the process for both TensorFlow and PyTorch.

Table of Contents

Installation

Basic Installation

To install VGSLify without any deep learning backend, run:

pip install vgslify

This installs only the core functionalities of VGSLify without torch or tensorflow.

Installing with a Specific Backend

VGSLify supports both TensorFlow and PyTorch. You can install it with the required backend:

# For TensorFlow (latest compatible version)
pip install vgslify[tensorflow]
# For PyTorch (latest compatible version)
pip install vgslify[torch]

By default, this will install:

  • tensorflow (latest stable version)
  • torch (latest stable version)

Controlling Backend Versions

If you need a specific version of torch or tensorflow, install VGSLify first and then manually install the backend:

pip install vgslify
pip install torch==2.1.0 # Example for PyTorch
pip install tensorflow==2.14 # Example for TensorFlow

Alternatively, you can specify the version during installation:

pip install vgslify[torch] torch==2.1.0
pip install vgslify[tensorflow] tensorflow==2.14

Note: If a different version of torch or tensorflow is already installed, pip may not downgrade it automatically. Use --force-reinstall or --upgrade if necessary:

pip install --upgrade --force-reinstall torch==2.1.0

Verify installation

To check that VGSLify is installed correctly, run:

python -c "import vgslify; print(vgslify.__version__)"

How VGSL Works

VGSL uses concise strings to define model architectures. For example:

None,None,64,1 Cr3,3,32 Mp2,2 Cr3,3,64 Mp2,2 Rc3 Fr64 D20 Lrs128 D20 Lrs64 D20 Fs92

Each part represents a layer: input, convolution, pooling, reshaping, fully connected, LSTM, and output. VGSL allows specifying activation functions for customization.

Quick Start

Generating a Model with VGSLify

fromvgslifyimportVGSLModelGenerator# Define the VGSL specificationvgsl_spec="None,None,64,1 Cr3,3,32 Mp2,2 Fs92"# Choose backend: "tensorflow", "torch", or "auto" (defaults to whichever is available)vgsl_gn=VGSLModelGenerator(backend="tensorflow") model=vgsl_gn.generate_model(vgsl_spec, model_name="MyModel")
model.summary()
vgsl_gn=VGSLModelGenerator(backend="torch") # Switch to PyTorchmodel=vgsl_gn.generate_model(vgsl_spec, model_name="MyTorchModel")
print(model)

Creating Individual Layers with VGSLify

fromvgslifyimportVGSLModelGeneratorvgsl_gn=VGSLModelGenerator(backend="tensorflow")
conv2d_layer=vgsl_gn.construct_layer("Cr3,3,64")
# Integrate into an existing model:# model = tf.keras.Sequential()# model.add(conv2d_layer) # ...# Example with generate_history:history=vgsl_gn.generate_history("None,None,64,1 Cr3,3,32 Mp2,2 Fs92")
forlayerinhistory:
print(layer)

Converting Models to VGSL

fromvgslifyimportmodel_to_specimporttensorflowastf# Or import torch.nn as nn# TensorFlow example:model=tf.keras.models.load_model("path_to_your_model.keras") # If loading from file# PyTorch example:# model = MyPyTorchModel() # Assuming MyPyTorchModel is defined elsewherevgsl_spec_string=model_to_spec(model)
print(vgsl_spec_string)

Note: Flatten/Reshape layers might require manual input shape adjustment in the generated VGSL.

Additional Documentation

See the VGSL Documentation for more details on supported layers and their specifications.

Contributing

Contributions are welcome! Fork the repository, set up your environment, make changes, and submit a pull request. Create issues for bugs or suggestions.

License

MIT License. See LICENSE file.

Acknowledgements

Thanks to the creators and contributors of the original VGSL specification.

About

Rapidly prototype TensorFlow and PyTorch models using VGSL (Variable-size Graph Specification Language) and convert them back to VGSL spec.

Topics

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages