我正在尝试保存模型,然后加载它以做出一些预测;发生的情况是,训练后模型的准确度为95%+,但是当我保存它然后加载它时,准确度下降到几乎10%相同数据集。
要重现此错误结果,您可以运行以下命令非常小的笔记本。
该模型定义如下:
model_scratch_auto = models.Sequential()
model_scratch_auto.add(Flatten(input_shape=(28,28)))
model_scratch_auto.add(Dense(80, activation='relu'))
model_scratch_auto.add(Dense(100, activation='relu'))
model_scratch_auto.add(Dense(120, activation='relu'))
model_scratch_auto.add(Dense(100, activation='relu'))
auto_srelu=AutoSRELU()
model_scratch_auto.add(auto_srelu)
model_scratch_auto.add(Dense(120, activation='relu'))
model_scratch_auto.add(auto_srelu)
model_scratch_auto.add(BatchNormalization())
model_scratch_auto.add(Dense(10, activation='softmax'))
model_scratch_auto.compile(optimizer = tf.optimizers.Adam(),loss='categorical_crossentropy', metrics=['acc',f1_m,precision_m, recall_m])
model_scratch_auto.fit(X_train, y_train , batch_size=64, epochs=5, validation_data=(X_test, y_test),verbose=1)
Run Code Online (Sandbox Code Playgroud)
其中自定义层,AutoSRELU定义如下:
initializer0 = keras.initializers.RandomUniform(minval = -1, maxval =1)
initializer1 = keras.initializers.RandomUniform(minval = 0.5, maxval =3)
class MinMaxConstraint(keras.constraints.Constraint):
def __init__(self, minval, maxval):
self.minval = tf.constant(minval ,dtype='float32')
self.maxval = tf.constant(maxval ,dtype='float32')
def __call__(self, w):
tf.cond(tf.greater(self.minval,w)
, lambda: …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个包含 8 个子图(4 行和 2 列)的图。为此,我编写了这段代码来读取 x 和 y 数据并按以下方式绘制它:
fig, axs = plt.subplots(4, 2, figsize=(15,25))
y_labels = ['k0', 'k1']
for x in range(4):
for y in range(2):
axs[x, y].scatter([i[x] for i in X_vals], [i[y] for i in y_vals])
axs[x, y].set_xlabel('Loss')
axs[x, y].set_ylabel(y_labels[y])
Run Code Online (Sandbox Code Playgroud)
但是,我想通过以下方式向所有行(而不是绘图)添加标题(标题为黄色文本):
我在这里找到了这张图片和一些执行此操作的方法,但我无法为我的用例实现此操作并收到错误。这是我尝试过的:
gridspec = axs[0].get_subplotspec().get_gridspec()
subfigs = [fig.add_subfigure(gs) for gs in gridspec]
for row, subfig in enumerate(subfigs):
subfig.suptitle(f'Subplot row title {row}')
Run Code Online (Sandbox Code Playgroud)
这给了我错误:'numpy.ndarray' object has no attribute 'get_subplotspec'
所以我将代码更改为:
gridspec = axs[0, 0].get_subplotspec().get_gridspec()
subfigs = …Run Code Online (Sandbox Code Playgroud) 我必须计算循环针对给定输入运行的次数,我正在尝试使用自定义值n来提出公式,但以下虚拟程序不显示任何输出,也不显示任何错误。还有的自定义值n而变化的4^k,我已经使用了一个随机值64,看看有多少次的循环运行。
我试图printf()在 while 循环本身中包含该语句,以查看编译器是否甚至进入该循环,但我仍然没有得到任何结果。我没有用 C 做过很多编程,我在一个在线编译器中运行程序。
int main()
{
int i;
int j;
int n=64;
int count=0;
for(i=1;i<=n;i++){
j = 2;
while(j<=n){
j = i*i;
count +=1 ;
}
}
printf("%d",count);
return 0;
}
Run Code Online (Sandbox Code Playgroud) python ×2
c ×1
for-loop ×1
keras ×1
keras-layer ×1
matplotlib ×1
printf ×1
subplot ×1
tensorflow ×1
tf.keras ×1
while-loop ×1