dataframe - 神经网络摘要到数据框
解决方案
是的,您可以通过使用print_fn
参数将输出保存到字符串然后将其解析为 DataFrame 来实现:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
import re
import pandas as pd
model = Sequential()
model.add(Dense(2, input_dim=1, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
stringlist = []
model.summary(print_fn=lambda x: stringlist.append(x))
summ_string = "\n".join(stringlist)
print(summ_string) # entire summary in a variable
table = stringlist[1:-4][1::2] # take every other element and remove appendix
new_table = []
for entry in table:
entry = re.split(r'\s{2,}', entry)[:-1] # remove whitespace
new_table.append(entry)
df = pd.DataFrame(new_table[1:], columns=new_table[0])
print(df.head())
输出:
Layer (type) Output Shape Param #
0 dense (Dense) (None, 2) 4
1 dense_1 (Dense) (None, 1) 3
推荐阅读
- java - 受限硬币找零问题python java转换
- python - Pandas loc 错误:“系列”对象是可变的,因此它们不能被散列
- r - R中的非线性摆:获得角度的精确时间演化的问题
- node.js - 无法在 Visual Studio 代码中安装 discord.js
- python - 形状未对齐:Scipy 的 fmin_tnc 函数
- wordpress - 将自定义帖子类型显示到静态页面
- performance - 如何改进有两种情况的haskell代码?
- r - ggplot2 为值和日期/日期时间指定辅助轴
- radio-button - 如何在不改变其外观的情况下禁用面板上的 TRAdioButtons?
- python - 构建一个发送到不和谐的推特监视器