我正在阅读人们对DCGAN的实现,特别是这个在tensorflow中的实现.
在该实现中,作者绘制了鉴别器和生成器的损失,如下所示(图像来自https://github.com/carpedm20/DCGAN-tensorflow):
鉴别器和发生器的损失似乎都没有遵循任何模式.与一般神经网络不同,其损失随着训练迭代的增加而减少.如何解释训练GAN时的损失?
neural-network deep-learning generative-adversarial-network gan
我在 Linux 平台上用 keras(回归)训练了一个模型,并用 model.save_weights("kwhFinal.h5")
然后我希望在我的 Windows 10 笔记本电脑上将我保存的完整模型带到 Python 3.6,然后将它与 IDLE 一起使用:
from keras.models import load_model
# load weights into new model
loaded_model.load_weights("kwhFinal.h5")
print("Loaded model from disk")
Run Code Online (Sandbox Code Playgroud)
除了我在 Keras 中遇到这种只读模式 ValueError 之外。通过pip我在我的 Windows 10 笔记本电脑上安装了 Keras 和 Tensorflow,并在网上进行了更多的研究,这似乎是另一个关于同一问题的 SO 帖子,答案指出:
您必须设置和定义模型的架构,然后使用 model.load_weights
但我不明白这一点,无法从答案中重新创建代码(链接到 git gist)。下面是我在 Linux 操作系统上运行以创建模型的 Keras 脚本。有人能给我一个关于如何定义架构的提示,以便我可以使用这个模型在我的 Windows 10 笔记本电脑上进行预测吗?
#https://machinelearningmastery.com/custom-metrics-deep-learning-keras-python/
#https://machinelearningmastery.com/save-load-keras-deep-learning-models/
#https://machinelearningmastery.com/regression-tutorial-keras-deep-learning-library-python/
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import math
from keras.models import Sequential
from keras.layers …Run Code Online (Sandbox Code Playgroud) 有没有办法将原生 tf 注意层与 keras Sequential API 一起使用?
我正在寻找使用这个特定的类。我找到了自定义实现,例如this one。我真正想要的是将这个特定的类与 Sequential API 一起使用
这是我正在寻找的代码示例
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Embedding(vocab_length,
EMBEDDING_DIM, input_length=MAX_SEQUENCE_LENGTH,
weights=[embedding_matrix], trainable=False))
model.add(tf.keras.layers.Dropout(0.3))
model.add(tf.keras.layers.Conv1D(64, 5, activation='relu'))
model.add(tf.keras.layers.MaxPooling1D(pool_size=4))
model.add(tf.keras.layers.CuDNNLSTM(100))
model.add(tf.keras.layers.Dropout(0.4))
model.add(tf.keras.layers.Attention()) # Doesn't work this way
model.add(tf.keras.layers.Dense(1, activation='sigmoid'))
Run Code Online (Sandbox Code Playgroud) machine-learning deep-learning keras tensorflow attention-model
我从 tesnorboard 下载了 CSV 文件,以便自己绘制损失图,因为我希望它们平滑。
这是目前我的代码:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_csv('C:\\Users\\ali97\\Desktop\\Project\\Database\\Comparing Outlier Fractions\\10 Percent (MAE)\\MSE Validation.csv',usecols=['Step','Value'],low_memory=True)
df2 = pd.read_csv('C:\\Users\\ali97\\Desktop\\Project\\Database\\Comparing Outlier Fractions\\15 Percent (MAE)\\MSE Validation.csv',usecols=['Step','Value'],low_memory=True)
df3 = pd.read_csv('C:\\Users\\ali97\\Desktop\\Project\\Database\\Comparing Outlier Fractions\\20 Percent (MAE)\\MSE Validation.csv',usecols=['Step','Value'],low_memory=True)
plt.plot(df['Step'],df['Value'] , 'r',label='10% Outlier Frac.' )
plt.plot(df2['Step'],df2['Value'] , 'g',label='15% Outlier Frac.' )
plt.plot(df3['Step'],df3['Value'] , 'b',label='20% Outlier Frac.' )
plt.xlabel('Epochs')
plt.ylabel('Validation score')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我正在阅读如何平滑图形,我发现这里的另一位成员编写了有关张量板如何平滑图形的代码,但我真的不知道如何在我的代码中实现它。
def smooth(scalars: List[float], weight: float) -> List[float]: # Weight between 0 …Run Code Online (Sandbox Code Playgroud) 我读到 ResNet 通过使用跳过函数解决了梯度消失问题。但是它们不是已经使用 RELU 解决了吗?关于 ResNet 是否还有其他一些重要的事情我遗漏了,或者即使在使用 RELU 之后也会出现梯度消失问题?
optimization backpropagation neural-network deep-learning activation-function
tensorflow ×3
keras ×2
python ×2
data-science ×1
gan ×1
generative-adversarial-network ×1
optimization ×1
tensorboard ×1