Spaces:
Running
Running
File size: 2,532 Bytes
728a6ed 5bd77b5 8bb6bcc 7f1aca2 4b990c7 a0a3cb8 7f1aca2 f39a294 5201e45 96f874d 027697d 5201e45 96f874d 027697d f39a294 96f874d 027697d 96f874d 7b64b2c 8bb6bcc e16c1f3 faef71a e16c1f3 731de2f 5da936b e16c1f3 7b64b2c 7d34933 9def5da 03599ad 027697d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# https://github.com/google-research/tensorflow-coder/blob/master/tf_coder/tf_coder_main.py
import streamlit as st
from tf_coder.value_search import colab_interface, value_search_settings
import io
from contextlib import redirect_stdout
from streamlit_ace import st_ace
st.set_page_config(page_icon='π©βπ»', layout="wide", initial_sidebar_state="collapsed")
col1, col2, col3 = st.columns([5, 5, 3])
with col1:
st.write('#### Inputs')
inputs = st_ace(placeholder="The input tensor(s) specified as a dictionary", value="{'rows': [10, 20, 30],\n'cols': [1,2,3,4]}", language="python", theme="solarized_dark", auto_update=True)
with col2:
st.write('#### Output')
output = st_ace(placeholder="The output tensor", value="[[11, 12, 13, 14],\n[21, 22, 23, 24],\n[31, 32, 33, 34]]", language="python", theme="solarized_dark", auto_update=True)
with col3:
st.write('#### Constants')
constants = st_ace(placeholder="Optional list of scalar constants", value="[]", language="python", theme="solarized_dark", auto_update=True)
st.write("#### Description")
description = st.text_input(label="", placeholder="An optional natural language description of the operation", value="add two vectors with broadcasting to get a matrix")
st.sidebar.header("Settings:")
settings_kwargs = dict()
settings_kwargs["require_all_inputs_used"] = st.sidebar.checkbox("Require All Inputs", value=True)
settings_kwargs["only_minimal_solutions"] = st.sidebar.checkbox("Only Minimal Solutions", value=False)
settings_kwargs["max_solutions"] = st.sidebar.slider("Maximum number of solutions", value=1, min_value=1, step=1, max_value=256)
settings_kwargs["timeout"] = st.sidebar.slider("Timeout in seconds", value=300, min_value=1, step=10, max_value=300)
settings = value_search_settings.from_dict({
'timeout': settings_kwargs["timeout"],
'only_minimal_solutions': settings_kwargs["only_minimal_solutions"],
'max_solutions': settings_kwargs["max_solutions"],
'require_all_inputs_used': settings_kwargs["require_all_inputs_used"],
'require_one_input_used': not settings_kwargs["require_all_inputs_used"],
})
if st.button("π Search for Tensor Ops!"):
i = eval(inputs)
o = eval(output)
c = eval(constants)
with st.spinner("Searching for solution..."):
with io.StringIO() as buf, redirect_stdout(buf):
results = colab_interface.run_value_search_from_colab(i, o, c, description, settings)
stdout = buf.getvalue()
st.code(stdout, language='bash') |