mestreamlit / pages /1_🔥_模型生成代码.py
yuanjie
update
ee83c82
raw
history blame
1.51 kB
from meutils.pipe import *
from appzoo.streamlit_app import Page
import m2cgen as m2c
import streamlit as st
class MyPage(Page):
def main(self):
with st.form("Coding"):
file = st.file_uploader('上传默模型文件')
if file:
estimator = joblib.load(file)
else:
estimator = joblib.load(get_resolve_path('../data/lr.pkl', __file__))
languages = [
'python',
'java',
'go',
'c',
'c_sharp',
'r',
'dart',
'elixir',
'f_sharp',
'haskell',
'javascript',
'php',
'powershell',
'ruby',
'rust',
'visual_basi'
]
_ = st.selectbox('选择输出语言', languages)
if st.form_submit_button('开始转换'):
code = m2c.__getattribute__(f'export_to_{_}')(estimator)
st.markdown("##### code:")
st.code(code)
if __name__ == '__main__':
app_title = "ModelToCode"
app_info = """
将训练过的统计模型转化为本地代码(`Python, C, Java, Go, JavaScript, Visual Basic, c#, PowerShell, R, PHP, Dart, Haskell, Ruby, f#, Rust, Elixir`)。
"""
MyPage(
app_title=f"# {app_title}",
app_info=f"> {app_info}",
sidebar_title=None,
).main()