yuanjie commited on
Commit
3ef7826
1 Parent(s): 1c1c61d
Files changed (1) hide show
  1. pages/3_🏙_模型生成代码.py +56 -0
pages/3_🏙_模型生成代码.py ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from meutils.pipe import *
2
+ from appzoo.streamlit_app import Page
3
+
4
+ import m2cgen as m2c
5
+ import streamlit as st
6
+
7
+
8
+ class MyPage(Page):
9
+
10
+ def main(self):
11
+ with st.form("Coding"):
12
+ file = st.file_uploader('上传默模型文件')
13
+ if file:
14
+ estimator = joblib.load(file)
15
+ else:
16
+ estimator = joblib.load(get_resolve_path('../data/lr.pkl', __file__))
17
+
18
+ languages = [
19
+ 'python',
20
+ 'java',
21
+ 'go',
22
+ 'c',
23
+ 'c_sharp',
24
+ 'r',
25
+ 'dart',
26
+ 'elixir',
27
+ 'f_sharp',
28
+ 'haskell',
29
+ 'javascript',
30
+ 'php',
31
+ 'powershell',
32
+ 'ruby',
33
+ 'rust',
34
+ 'visual_basi'
35
+ ]
36
+
37
+ _ = st.selectbox('选择输出语言', languages)
38
+
39
+ if st.form_submit_button('开始转换'):
40
+ code = m2c.__getattribute__(f'export_to_{_}')(estimator)
41
+
42
+ st.markdown("##### code:")
43
+ st.code(code)
44
+
45
+
46
+
47
+ if __name__ == '__main__':
48
+ app_title = "ModelToCode"
49
+ app_info = """
50
+ 将训练过的统计模型转化为本地代码(`Python, C, Java, Go, JavaScript, Visual Basic, c#, PowerShell, R, PHP, Dart, Haskell, Ruby, f#, Rust, Elixir`)。
51
+ """
52
+ MyPage(
53
+ app_title=f"# {app_title}",
54
+ app_info=f"> {app_info}",
55
+ sidebar_title=None,
56
+ ).main()