rusteam commited on
Commit
360fa3b
1 Parent(s): 9b416ab

Upload folder using huggingface_hub

Browse files
Files changed (6) hide show
  1. README.md +2 -8
  2. __pycache__/app.cpython-310.pyc +0 -0
  3. app.py +61 -0
  4. langs_enum_r2.txt +29 -0
  5. requirements.txt +3 -0
  6. tglang.pt +3 -0
README.md CHANGED
@@ -1,12 +1,6 @@
1
  ---
2
- title: Tglang Programming Langugage Detection
3
- emoji: 📊
4
- colorFrom: gray
5
- colorTo: yellow
6
  sdk: gradio
7
  sdk_version: 4.5.0
8
- app_file: app.py
9
- pinned: false
10
  ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: Tglang_programming_langugage_detection
3
+ app_file: app.py
 
 
4
  sdk: gradio
5
  sdk_version: 4.5.0
 
 
6
  ---
 
 
__pycache__/app.cpython-310.pyc ADDED
Binary file (2.65 kB). View file
 
app.py ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pathlib import Path
2
+
3
+ import gradio as gr
4
+ import pyonmttok
5
+ import torch.jit
6
+
7
+ model = None
8
+ tokenizer = None
9
+ lang_enum = None
10
+
11
+ TITLE = "Tglang: Programming Language Detection"
12
+ DESCRIPTION = ("<h5 style=\"text-align:center\">"
13
+ "Enter a code snippet and the model will predict the programming language it is written in.\n\n"
14
+ "Alternatively, it's possible to select one example from the dropdown menu to see how the model works.<h5>")
15
+ FOOTER = ("This is a solution for the "
16
+ "[Telegram ML competition 2023, Round 2](https://contest.com/docs/ML-Competition-2023-r2).\n\n"
17
+ "For more details, read [this article]() or check out [this repo]()")
18
+ EXAMPLES = [
19
+ ["def foo():\n print('Hello, world!')", "TGLANG_LANGUAGE_PYTHON"],
20
+ ["int main() {\n printf(\"Hello, world!\");\n return 0;\n}", "TGLANG_LANGUAGE_C"],
21
+ ["function foo() {\n console.log('Hello, world!');\n}", "TGLANG_LANGUAGE_JAVASCRIPT"],
22
+ ["public class HelloWorld {\n public static void main(String[] args) {\n System.out.println(\"Hello, world!\");\n }\n}", "TGLANG_LANGUAGE_JAVA"],
23
+ ["#include <iostream>\n\nint main() {\n std::cout << \"Hello, world!\" << std::endl;\n}", "TGLANG_LANGUAGE_CPP"],
24
+ ["using System;\n\npublic class Program\n{\n public static void Main()\n {\n Console.WriteLine(\"Hello, world!\");\n }\n}", "TGLANG_LANGUAGE_CSHARP"],
25
+ ]
26
+
27
+
28
+ def init_model():
29
+ global model, tokenizer, lang_enum
30
+ tokenizer = pyonmttok.Tokenizer("conservative")
31
+ model = torch.jit.load(Path(__file__).with_name("tglang.pt"))
32
+ lang_enum = Path(__file__).with_name("langs_enum_r2.txt").read_text().strip().split("\n")
33
+ lang_enum = [l.strip() for l in lang_enum if bool(l)]
34
+
35
+
36
+ def predict(text):
37
+ global model, tokenizer, lang_enum
38
+ tokens = tokenizer(text)
39
+ lang_index, *_ = model([tokens])
40
+ return lang_enum[lang_index]
41
+
42
+
43
+ def create_demo():
44
+ init_model()
45
+ demo = gr.Interface(fn=predict,
46
+ inputs=gr.Textbox(label="Code snippet", placeholder="Enter code here..."),
47
+ outputs=gr.Textbox(label="Model prediction"),
48
+ title=TITLE,
49
+ description=DESCRIPTION,
50
+ examples=EXAMPLES,
51
+ theme=gr.themes.Monochrome(),
52
+ article=FOOTER,
53
+ )
54
+ return demo
55
+
56
+
57
+ demo = create_demo()
58
+
59
+
60
+ if __name__ == "__main__":
61
+ demo.launch(show_api=False)
langs_enum_r2.txt ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ TGLANG_LANGUAGE_OTHER
2
+ TGLANG_LANGUAGE_C
3
+ TGLANG_LANGUAGE_CPLUSPLUS
4
+ TGLANG_LANGUAGE_CSHARP
5
+ TGLANG_LANGUAGE_CSS
6
+ TGLANG_LANGUAGE_DART
7
+ TGLANG_LANGUAGE_DOCKER
8
+ TGLANG_LANGUAGE_FUNC
9
+ TGLANG_LANGUAGE_GO
10
+ TGLANG_LANGUAGE_HTML
11
+ TGLANG_LANGUAGE_JAVA
12
+ TGLANG_LANGUAGE_JAVASCRIPT
13
+ TGLANG_LANGUAGE_JSON
14
+ TGLANG_LANGUAGE_KOTLIN
15
+ TGLANG_LANGUAGE_LUA
16
+ TGLANG_LANGUAGE_NGINX
17
+ TGLANG_LANGUAGE_OBJECTIVE_C
18
+ TGLANG_LANGUAGE_PHP
19
+ TGLANG_LANGUAGE_POWERSHELL
20
+ TGLANG_LANGUAGE_PYTHON
21
+ TGLANG_LANGUAGE_RUBY
22
+ TGLANG_LANGUAGE_RUST
23
+ TGLANG_LANGUAGE_SHELL
24
+ TGLANG_LANGUAGE_SOLIDITY
25
+ TGLANG_LANGUAGE_SQL
26
+ TGLANG_LANGUAGE_SWIFT
27
+ TGLANG_LANGUAGE_TL
28
+ TGLANG_LANGUAGE_TYPESCRIPT
29
+ TGLANG_LANGUAGE_XML
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ gradio
2
+ torch
3
+ pyonmttok
tglang.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:60d7452b5fcf381deee08bf9dcf5387cf20236d809d0a044dbde827bf18ab07c
3
+ size 630285