我正在尝试使用 nn.Transformer 类训练 Transformer Seq2Seq 模型。我相信我的实现是错误的,因为当我训练它时,它似乎适应得太快了,并且在推理过程中它经常重复。这似乎是解码器中的掩码问题,当我移除目标掩码时,训练性能是相同的。这让我相信我做的目标屏蔽是错误的。这是我的模型代码:
class TransformerModel(nn.Module):
def __init__(self,
vocab_size, input_dim, heads, feedforward_dim, encoder_layers, decoder_layers,
sos_token, eos_token, pad_token, max_len=200, dropout=0.5,
device=(torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu"))):
super(TransformerModel, self).__init__()
self.target_mask = None
self.embedding = nn.Embedding(vocab_size, input_dim, padding_idx=pad_token)
self.pos_embedding = nn.Embedding(max_len, input_dim, padding_idx=pad_token)
self.transformer = nn.Transformer(
d_model=input_dim, nhead=heads, num_encoder_layers=encoder_layers,
num_decoder_layers=decoder_layers, dim_feedforward=feedforward_dim,
dropout=dropout)
self.out = nn.Sequential(
nn.Linear(input_dim, feedforward_dim),
nn.ReLU(),
nn.Linear(feedforward_dim, vocab_size))
self.device = device
self.max_len = max_len
self.sos_token = sos_token
self.eos_token = eos_token
# Initialize all weights to be uniformly distributed between -initrange …
Run Code Online (Sandbox Code Playgroud) 我正在用股票过去 90 天的财务数据训练一个正常的前馈网络,我正在预测股票在第二天是上涨还是下跌。我使用二元交叉熵作为优化器的损失和标准 SGD。当我训练时,训练和验证损失继续下降,但准确度和验证准确度保持不变。
这是我的模型:
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense (Dense) (None, 90, 256) 1536
_________________________________________________________________
elu (ELU) (None, 90, 256) 0
_________________________________________________________________
flatten (Flatten) (None, 23040) 0
_________________________________________________________________
dropout (Dropout) (None, 23040) 0
_________________________________________________________________
dense_1 (Dense) (None, 1024) 23593984
_________________________________________________________________
elu_1 (ELU) (None, 1024) 0
_________________________________________________________________
dropout_1 (Dropout) (None, 1024) 0
_________________________________________________________________
dense_2 (Dense) (None, 512) 524800
_________________________________________________________________
elu_2 (ELU) (None, 512) 0
_________________________________________________________________
dropout_2 (Dropout) (None, 512) 0
_________________________________________________________________
dense_3 (Dense) (None, 512) 262656 …
Run Code Online (Sandbox Code Playgroud) 我是着色器的新手,我正在尝试在 Bevy 中构建顶点彩色着色器。幸运的是,其中一个示例介绍了如何使用自定义着色器,并创建了一个顶点彩色着色器,但不幸的是它不再显示照明!这是供参考的示例:https://github.com/bevyengine/bevy/blob/main/examples/shader/mesh_custom_attribute.rs
我想使用示例中所示的自定义属性,但我仍然需要照明才能工作(正确的阴影面)。任何帮助都非常感谢!
如何安排本地(无服务器)推送通知(不是警报)从我的应用程序触发?我只是想从我的应用程序中安排一个通知,并让它在通知中心的给定时间触发。我曾尝试使用 LocalNotifications,但它们似乎只有在应用程序打开时才有效,并且只有在应用程序关闭时才更新徽章。除非您使用服务器,否则我也看不到发送推送通知的方法。
目前我可以安排 LocalNotification 并弹出一个警报,但我希望在应用程序关闭时它可以工作,而不是警报,我想要一个在顶部弹出的推送通知。