我在Streamlight中构建了一个仪表板,您可以在其中选择客户ID并显示形状图(瀑布图和强制图),以解释该客户的信用违约预测。
我还想显示一个包含整个列车数据集的SHAP摘要图。后者不会在每次进行新预测时更改,并且需要花费大量时间来绘制,因此我希望缓存它。我想最好的方法是使用st.cache,但我一直没能做到。
下面是我在main.py中尝试过但没有成功的代码:我首先定义了我想要缓存输出的函数(图),然后我在st.pyplot.中执行输出>装饰器,但是一旦我添加它并重新运行应用程序,函数summary_plot_all无限期运行
在:
@st.cache
def summary_plot_all():
fig, axes = plt.subplots(nrows=1, ncols=1)
shap.summary_plot(shapvs[1], prep_train.iloc[:, :-1].values,
prep_train.columns, max_display=50)
return fig
st.pyplot(summary_plot_all())
OUT(在流光应用程序中显示)
正在运行摘要\绘图\所有()。
有人知道什么是错的或更好的方法缓存一个情节在流?
version of packages:
streamlit==0.84.1,
matplotlib==3.4.2,
shap==0.39.0
试试看
import matplotlib
@st.cache(hash_funcs={matplotlib.figure.Figure: lambda _: None})
def summary_plot_all():
fig, axes = plt.subplots(nrows=1, ncols=1)
shap.summary_plot(shapvs[1], prep_train.iloc[:, :-1].values,
prep_train.columns, max_display=50)
return fig
检查此streamlight
github问题
问题内容: 我和我的朋友们在一个网站上工作,我们希望在其中缓存某些图像,以便将来更快地显示它们。我有两个主要问题: 您如何缓存图像? 图像被缓存后如何使用?(只是为了验证图像是否在页面A上缓存,可以从缓存中调用它以在页面B上使用它,对吗?) 此外,有可能设置 时, 图像的缓存版本将到期? 如果包括示例和/或进一步描述页面的链接,将不胜感激。 使用原始Javascript或jQuery版本都可以。
问题内容: 从缓存还原后,我需要在磁盘上缓存resp并保持其类型为http.Response。有任何想法吗? 问题答案: 最简单的方法是使用httputil.DumpResponse和http.ReadResponse。 请参阅此处的示例。(您必须将代码复制到本地计算机上并在本地计算机上运行,因为Playground不允许I / O) 第一个将接收到的请求转储到内存中的[]字节中,然后可以将其
问题内容: 如何在WAMP中安装内存缓存? 我在中找不到任何php_memche 。 现在我该怎么做? @瑞安 感谢您的步骤,现在在WAMP中启用了内存缓存,我也已经在PHPINFO中进行了交叉检查。正在显示内存缓存。 我已经尝试过以下示例Memcache示例。但是抛出错误。 收到以下通知错误。 我错过了… 问题答案: 以下是对我有用的步骤: 所需文件 直接链接 Windows DLL文件 适用于
问题内容: 在我的Web应用程序中,当用户注销时,他应该无权访问他登录时先前查看过的页面。但是,由于浏览器缓存,他可以在单击后退按钮时查看这些页面。 我定义了一个拦截器来处理此问题: 并在: 发生的事情是,添加此代码后,运行应用程序时出现404错误。 我尝试在页面中添加响应标题: 但是必须将它一个接一个地添加到所有页面上是很麻烦的。另外,用户始终可以重新提交表单并再次访问那些页面,而无需实际输入其
问题内容: 当我使用Alamofire两次发送GET请求时,我得到的响应是相同的,但是我期望得到不同的响应。我想知道这是否是由于缓存造成的,如果是这样,我想知道如何禁用它。 问题答案: 迅捷3,alamofire 4 我的解决方案是: 为Alamofire创建扩展: 并使用它:
问题内容: 当我单击链接的内容设置为div innerHTML时,我具有此功能,我在jquery ajax中设置了属性,但是如果我再次单击该链接,则不会显示任何缓存,而ajax函数仍将到达服务器端并到达我困惑的相同内容实际上是启用缓存的,我应该怎么做才能使其工作? 问题答案: 是默认值,并不总是从缓存中获取内容。浏览器上项目的可缓存性取决于: 从原始Web服务器返回的响应头。如果标题指示不应缓存内