小编Ven*_*kat的帖子

如何从 PencilKit 中的 PKInkingTool 设置恒定的笔划宽度

当使用 PencilKit API 使用手指/铅笔在屏幕上绘图时,我想将笔画的宽度设置为常量。目前,宽度设置仅PKInkingTool设置用手指或铅笔绘图时的基线宽度,并且如果用手指/铅笔缓慢或快速描画,则宽度会发生变化。

我不确定如何设置一个最小的示例,有很多代码可以让 PencilKit 视图正常工作。您可以使用Apple 的此示例来设置一个简单的绘图应用程序。

这是我选择默认绘图工具的代码:

canvas.tool = PKInkingTool(.pen, color: .white, width: 10)
Run Code Online (Sandbox Code Playgroud)

其中canvas是一个PKCanvasView对象。validWidthRange每个 InkType都有一个属性(链接到文档),但我不确定这是否可以帮助我实现我想要的。

ios swift pencilkit

6
推荐指数
1
解决办法
1885
查看次数

可变大小输入的小批量训练

我有一个 LongTensors 列表和另一个标签列表。我是 PyTorch 和 RNN 的新手,所以我对如何为我拥有的数据实施小批量训练感到非常困惑。这个数据还有很多,但我想保持简单,所以我只能理解如何实现小批量训练部分。我正在根据在可变长度输入上训练的 LSTM/GRU 的最终隐藏状态进行多类分类。我设法让它与批量大小 1(基本上是 SGD)一起工作,但我正在努力实现小批量。

我是否必须将序列填充到最大尺寸并创建一个更大尺寸的新张量矩阵来容纳所有元素?我的意思是这样的:

inputs = pad(sequences)
train = DataLoader(inputs, batch_size=batch_size, shuffle=True)
for i, data in train:
   #do stuff using LSTM and/or GRU models
Run Code Online (Sandbox Code Playgroud)

这是对自定义数据进行小批量训练的公认方式吗?我找不到有关使用 DataLoader 加载自定义数据的任何教程(但我认为这是使用 pyTorch 创建批次的方法?)

我的另一个疑问是关于填充。我使用 LSTM/GRU 的原因是因为输入的长度可变。填充不会破坏目的吗?小批量训练是否需要填充?

python neural-network deep-learning pytorch autograd

5
推荐指数
1
解决办法
2857
查看次数

将LSTM中的Tanh激活更改为ReLU

LSTM类中的默认非线性激活函数为tanh。我希望在我的项目中使用ReLU。浏览文档和其他资源时,我无法找到一种简单的方式来做到这一点。我能找到的唯一方法是定义自己的自定义LSTMCell,但是在这里作者说自定义LSTMCell不支持GPU加速功能(或者自文章发表以来是否有所改变?)。我需要使用CUDA来加快培训速度。任何帮助,将不胜感激。

lstm pytorch

3
推荐指数
1
解决办法
3475
查看次数