Latest commit

History

81 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Code-to-Code Translation from Java to Python using Transformers T5-small

Overview

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset. Unlike previous approaches that rely on language-specific libraries or attributes, this method avoids such inbuilt functionalities, promoting the creation of algorithmically pure, fully translatable code. The dataset used for training was generated using the Gemini model, which translated sample text into pseudocode before coding it into both Java and Python. The resulting dataset was then used to train the T5-small model to learn generalized patterns and structures for code translation.

Key Features

  • Algorithmically Pure Translation: The model avoids using language-specific shortcuts, ensuring full translatability.
  • T5-small Model: A transformer-based model specifically trained for code-to-code translation.
  • Cross-Language Code Translation: The approach is aimed at translating Java code into Python.
  • Generalized Patterns: The model learns generalized structures, improving the robustness of code translation.
  • Evaluation: Results indicate high accuracy in generating semantically equivalent and syntactically correct Python code from Java.

Dataset

The dataset was generated in the following manner:

  1. Sample text was initially translated into pseudocode.
  2. The pseudocode was then implemented in both Java and Python, ensuring no language-specific shortcuts were used.
  3. This dataset, without any built-in language-specific attributes, was then used to train the T5-small transformer model.

Model

The model used for code translation is T5-small, a transformer model fine-tuned to learn the patterns and structures required for converting Java code to Python. The model was trained using the dataset described above.

Evaluation

The model was evaluated on its ability to translate Java code into Python while maintaining semantic equivalence and syntactical correctness. The evaluation results indicate promising performance for use in real-world scenarios.

Installation

To use this model, follow these steps :

Requirements

  • Python 3.7+
  • PyTorch
  • Hugging Face Transformers library
  • Datasets library from Hugging Face
  • Tokenizers library

Install Dependencies

pip install torch transformers datasets tokenizers
python train.py

About

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

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

81 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Code-to-Code Translation from Java to Python using Transformers T5-small

Overview

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset. Unlike previous approaches that rely on language-specific libraries or attributes, this method avoids such inbuilt functionalities, promoting the creation of algorithmically pure, fully translatable code. The dataset used for training was generated using the Gemini model, which translated sample text into pseudocode before coding it into both Java and Python. The resulting dataset was then used to train the T5-small model to learn generalized patterns and structures for code translation.

Key Features

  • Algorithmically Pure Translation: The model avoids using language-specific shortcuts, ensuring full translatability.
  • T5-small Model: A transformer-based model specifically trained for code-to-code translation.
  • Cross-Language Code Translation: The approach is aimed at translating Java code into Python.
  • Generalized Patterns: The model learns generalized structures, improving the robustness of code translation.
  • Evaluation: Results indicate high accuracy in generating semantically equivalent and syntactically correct Python code from Java.

Dataset

The dataset was generated in the following manner:

  1. Sample text was initially translated into pseudocode.
  2. The pseudocode was then implemented in both Java and Python, ensuring no language-specific shortcuts were used.
  3. This dataset, without any built-in language-specific attributes, was then used to train the T5-small transformer model.

Model

The model used for code translation is T5-small, a transformer model fine-tuned to learn the patterns and structures required for converting Java code to Python. The model was trained using the dataset described above.

Evaluation

The model was evaluated on its ability to translate Java code into Python while maintaining semantic equivalence and syntactical correctness. The evaluation results indicate promising performance for use in real-world scenarios.

Installation

To use this model, follow these steps :

Requirements

  • Python 3.7+
  • PyTorch
  • Hugging Face Transformers library
  • Datasets library from Hugging Face
  • Tokenizers library

Install Dependencies

pip install torch transformers datasets tokenizers
python train.py

About

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

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

81 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Code-to-Code Translation from Java to Python using Transformers T5-small

Overview

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset. Unlike previous approaches that rely on language-specific libraries or attributes, this method avoids such inbuilt functionalities, promoting the creation of algorithmically pure, fully translatable code. The dataset used for training was generated using the Gemini model, which translated sample text into pseudocode before coding it into both Java and Python. The resulting dataset was then used to train the T5-small model to learn generalized patterns and structures for code translation.

Key Features

  • Algorithmically Pure Translation: The model avoids using language-specific shortcuts, ensuring full translatability.
  • T5-small Model: A transformer-based model specifically trained for code-to-code translation.
  • Cross-Language Code Translation: The approach is aimed at translating Java code into Python.
  • Generalized Patterns: The model learns generalized structures, improving the robustness of code translation.
  • Evaluation: Results indicate high accuracy in generating semantically equivalent and syntactically correct Python code from Java.

Dataset

The dataset was generated in the following manner:

  1. Sample text was initially translated into pseudocode.
  2. The pseudocode was then implemented in both Java and Python, ensuring no language-specific shortcuts were used.
  3. This dataset, without any built-in language-specific attributes, was then used to train the T5-small transformer model.

Model

The model used for code translation is T5-small, a transformer model fine-tuned to learn the patterns and structures required for converting Java code to Python. The model was trained using the dataset described above.

Evaluation

The model was evaluated on its ability to translate Java code into Python while maintaining semantic equivalence and syntactical correctness. The evaluation results indicate promising performance for use in real-world scenarios.

Installation

To use this model, follow these steps :

Requirements

  • Python 3.7+
  • PyTorch
  • Hugging Face Transformers library
  • Datasets library from Hugging Face
  • Tokenizers library

Install Dependencies

pip install torch transformers datasets tokenizers
python train.py

About

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

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

81 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Code-to-Code Translation from Java to Python using Transformers T5-small

Overview

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset. Unlike previous approaches that rely on language-specific libraries or attributes, this method avoids such inbuilt functionalities, promoting the creation of algorithmically pure, fully translatable code. The dataset used for training was generated using the Gemini model, which translated sample text into pseudocode before coding it into both Java and Python. The resulting dataset was then used to train the T5-small model to learn generalized patterns and structures for code translation.

Key Features

  • Algorithmically Pure Translation: The model avoids using language-specific shortcuts, ensuring full translatability.
  • T5-small Model: A transformer-based model specifically trained for code-to-code translation.
  • Cross-Language Code Translation: The approach is aimed at translating Java code into Python.
  • Generalized Patterns: The model learns generalized structures, improving the robustness of code translation.
  • Evaluation: Results indicate high accuracy in generating semantically equivalent and syntactically correct Python code from Java.

Dataset

The dataset was generated in the following manner:

  1. Sample text was initially translated into pseudocode.
  2. The pseudocode was then implemented in both Java and Python, ensuring no language-specific shortcuts were used.
  3. This dataset, without any built-in language-specific attributes, was then used to train the T5-small transformer model.

Model

The model used for code translation is T5-small, a transformer model fine-tuned to learn the patterns and structures required for converting Java code to Python. The model was trained using the dataset described above.

Evaluation

The model was evaluated on its ability to translate Java code into Python while maintaining semantic equivalence and syntactical correctness. The evaluation results indicate promising performance for use in real-world scenarios.

Installation

To use this model, follow these steps :

Requirements

  • Python 3.7+
  • PyTorch
  • Hugging Face Transformers library
  • Datasets library from Hugging Face
  • Tokenizers library

Install Dependencies

pip install torch transformers datasets tokenizers
python train.py

About

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

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

81 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Code-to-Code Translation from Java to Python using Transformers T5-small

Overview

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset. Unlike previous approaches that rely on language-specific libraries or attributes, this method avoids such inbuilt functionalities, promoting the creation of algorithmically pure, fully translatable code. The dataset used for training was generated using the Gemini model, which translated sample text into pseudocode before coding it into both Java and Python. The resulting dataset was then used to train the T5-small model to learn generalized patterns and structures for code translation.

Key Features

  • Algorithmically Pure Translation: The model avoids using language-specific shortcuts, ensuring full translatability.
  • T5-small Model: A transformer-based model specifically trained for code-to-code translation.
  • Cross-Language Code Translation: The approach is aimed at translating Java code into Python.
  • Generalized Patterns: The model learns generalized structures, improving the robustness of code translation.
  • Evaluation: Results indicate high accuracy in generating semantically equivalent and syntactically correct Python code from Java.

Dataset

The dataset was generated in the following manner:

  1. Sample text was initially translated into pseudocode.
  2. The pseudocode was then implemented in both Java and Python, ensuring no language-specific shortcuts were used.
  3. This dataset, without any built-in language-specific attributes, was then used to train the T5-small transformer model.

Model

The model used for code translation is T5-small, a transformer model fine-tuned to learn the patterns and structures required for converting Java code to Python. The model was trained using the dataset described above.

Evaluation

The model was evaluated on its ability to translate Java code into Python while maintaining semantic equivalence and syntactical correctness. The evaluation results indicate promising performance for use in real-world scenarios.

Installation

To use this model, follow these steps :

Requirements

  • Python 3.7+
  • PyTorch
  • Hugging Face Transformers library
  • Datasets library from Hugging Face
  • Tokenizers library

Install Dependencies

pip install torch transformers datasets tokenizers
python train.py

About

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

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

81 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Code-to-Code Translation from Java to Python using Transformers T5-small

Overview

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset. Unlike previous approaches that rely on language-specific libraries or attributes, this method avoids such inbuilt functionalities, promoting the creation of algorithmically pure, fully translatable code. The dataset used for training was generated using the Gemini model, which translated sample text into pseudocode before coding it into both Java and Python. The resulting dataset was then used to train the T5-small model to learn generalized patterns and structures for code translation.

Key Features

  • Algorithmically Pure Translation: The model avoids using language-specific shortcuts, ensuring full translatability.
  • T5-small Model: A transformer-based model specifically trained for code-to-code translation.
  • Cross-Language Code Translation: The approach is aimed at translating Java code into Python.
  • Generalized Patterns: The model learns generalized structures, improving the robustness of code translation.
  • Evaluation: Results indicate high accuracy in generating semantically equivalent and syntactically correct Python code from Java.

Dataset

The dataset was generated in the following manner:

  1. Sample text was initially translated into pseudocode.
  2. The pseudocode was then implemented in both Java and Python, ensuring no language-specific shortcuts were used.
  3. This dataset, without any built-in language-specific attributes, was then used to train the T5-small transformer model.

Model

The model used for code translation is T5-small, a transformer model fine-tuned to learn the patterns and structures required for converting Java code to Python. The model was trained using the dataset described above.

Evaluation

The model was evaluated on its ability to translate Java code into Python while maintaining semantic equivalence and syntactical correctness. The evaluation results indicate promising performance for use in real-world scenarios.

Installation

To use this model, follow these steps :

Requirements

  • Python 3.7+
  • PyTorch
  • Hugging Face Transformers library
  • Datasets library from Hugging Face
  • Tokenizers library

Install Dependencies

pip install torch transformers datasets tokenizers
python train.py

About

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

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

81 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Code-to-Code Translation from Java to Python using Transformers T5-small

Overview

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset. Unlike previous approaches that rely on language-specific libraries or attributes, this method avoids such inbuilt functionalities, promoting the creation of algorithmically pure, fully translatable code. The dataset used for training was generated using the Gemini model, which translated sample text into pseudocode before coding it into both Java and Python. The resulting dataset was then used to train the T5-small model to learn generalized patterns and structures for code translation.

Key Features

  • Algorithmically Pure Translation: The model avoids using language-specific shortcuts, ensuring full translatability.
  • T5-small Model: A transformer-based model specifically trained for code-to-code translation.
  • Cross-Language Code Translation: The approach is aimed at translating Java code into Python.
  • Generalized Patterns: The model learns generalized structures, improving the robustness of code translation.
  • Evaluation: Results indicate high accuracy in generating semantically equivalent and syntactically correct Python code from Java.

Dataset

The dataset was generated in the following manner:

  1. Sample text was initially translated into pseudocode.
  2. The pseudocode was then implemented in both Java and Python, ensuring no language-specific shortcuts were used.
  3. This dataset, without any built-in language-specific attributes, was then used to train the T5-small transformer model.

Model

The model used for code translation is T5-small, a transformer model fine-tuned to learn the patterns and structures required for converting Java code to Python. The model was trained using the dataset described above.

Evaluation

The model was evaluated on its ability to translate Java code into Python while maintaining semantic equivalence and syntactical correctness. The evaluation results indicate promising performance for use in real-world scenarios.

Installation

To use this model, follow these steps :

Requirements

  • Python 3.7+
  • PyTorch
  • Hugging Face Transformers library
  • Datasets library from Hugging Face
  • Tokenizers library

Install Dependencies

pip install torch transformers datasets tokenizers
python train.py

About

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

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

81 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Code-to-Code Translation from Java to Python using Transformers T5-small

Overview

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset. Unlike previous approaches that rely on language-specific libraries or attributes, this method avoids such inbuilt functionalities, promoting the creation of algorithmically pure, fully translatable code. The dataset used for training was generated using the Gemini model, which translated sample text into pseudocode before coding it into both Java and Python. The resulting dataset was then used to train the T5-small model to learn generalized patterns and structures for code translation.

Key Features

  • Algorithmically Pure Translation: The model avoids using language-specific shortcuts, ensuring full translatability.
  • T5-small Model: A transformer-based model specifically trained for code-to-code translation.
  • Cross-Language Code Translation: The approach is aimed at translating Java code into Python.
  • Generalized Patterns: The model learns generalized structures, improving the robustness of code translation.
  • Evaluation: Results indicate high accuracy in generating semantically equivalent and syntactically correct Python code from Java.

Dataset

The dataset was generated in the following manner:

  1. Sample text was initially translated into pseudocode.
  2. The pseudocode was then implemented in both Java and Python, ensuring no language-specific shortcuts were used.
  3. This dataset, without any built-in language-specific attributes, was then used to train the T5-small transformer model.

Model

The model used for code translation is T5-small, a transformer model fine-tuned to learn the patterns and structures required for converting Java code to Python. The model was trained using the dataset described above.

Evaluation

The model was evaluated on its ability to translate Java code into Python while maintaining semantic equivalence and syntactical correctness. The evaluation results indicate promising performance for use in real-world scenarios.

Installation

To use this model, follow these steps :

Requirements

  • Python 3.7+
  • PyTorch
  • Hugging Face Transformers library
  • Datasets library from Hugging Face
  • Tokenizers library

Install Dependencies

pip install torch transformers datasets tokenizers
python train.py

About

This project demonstrates a method of translating Java code into Python using the T5-small transformer model, trained on a custom-generated dataset

Topics

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages