import streamlit as st import wfdb from datasets import load_dataset from load_wave import load_wave from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense import tensorflow as tf import os import numpy as np dataset = load_dataset("lhoestq/demo1") st.set_page_config("銘傳大學生物醫學工程學系ECG分析網站") st.sidebar.markdown(""" **Developed by** [邱彥榕](https://www.linkedin.com/in/yjc-86941b101/) """) st.sidebar.markdown(""" # **Step 1: 上傳檔案到data**""") st.sidebar.markdown(""" # **Step 2: 開始分析**""") def callback(): data = load_wave() #st.line_chart(data) path = "./" checkpoint_path = os.path.join(path,"model.ckpt") model = Sequential() model.add(Dense(64, input_shape=(4000,), activation='relu')) model.add(Dense(8, activation='relu')) model.add(Dense(1, activation='sigmoid')) model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) model.load_weights(checkpoint_path) out = tf.round(model.predict(np.array(data.T[1]))).cpu() if np.array(out)[0] == "0": st.text("Relax") else: st.text("Activate") bt1 = st.button( "分析", on_click=callback, disabled=False, )