- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 cntk 中有一个模型,它由一个嵌入层和一个后续的 LSTM 组成。我想将嵌入查找操作放在 CPU 上,将网络的其余部分放在 GPU 上。
在 tensorflow 中,我会做
with tf.device("/cpu:0"):
cntk 中我可以将其包装成的等价物是什么:
C.layers.Embedding(embedding_size)
最佳答案
在 CNTK 中,设备控制是针对特定功能/网络的前向/后向传递,而不是单个操作。如果您想在 CPU 中执行特定操作,而在 GPU 中执行其余操作,则必须执行以下操作:
features = C.input_variable(input_dim)
labels = C.input_variable(label_dim)
embedding_input = C.input_variable(embedding_size, needs_gradient=True)
embedding = C.layers.Embedding(embedding_size)(features)
loss = rest_of_your_network(embedding_input, labels)
emb_state, embedding_value = embedding.forward({features: some_data}, keep_for_backward=set(embedding.output), device=C.cpu(), as_numpy=False)
loss_state, loss_value = loss.forward({embedding_input: embedding_value}, keep_for_backward=set(loss.output), device=C.gpu(0), as_numpy=False)
loss_grad_dict = loss.backward(loss_state, {loss.output: np.ones_like(loss_value)}, set(loss.parameters + [embedding_input]))
emb_grad_dict = embedding.backward(emb_state, {embedding.output: loss_grad_dict[embedding_input]}, set(embedding.parameters))
# use these dictionaries to update the parameters with a learner
关于python - CNTK中如何设置设备进行特定操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45291194/
我有一个关于阅读器的 randomizationWindow 参数的快速问题。它在文档中说它控制内存中的数据量——但我有点不清楚它会对数据的随机性产生什么影响。如果训练数据文件以一种数据分布开始,并以
我有一个在 CNTK 中创建和训练的神经网络。我可以在 Python 中使用 model.save_model("mymodel.dnn") 保存它。这会生成一个以 protobuf 格式序列化的文件
我在带有 2 个 K80 GPU 的 Azure VM 上运行 CNTK。 我是否需要在我的 Python (Jupyter Notebook) 代码中执行任何特殊操作才能利用多个 GPU,或者 CN
如何访问 DNN 的学习权重,保存如下: lstm_network_output.save(model_path) 最佳答案 可以通过调用“lstm_network_output.parameters
我正在浏览CNTK 204: Sequence to Sequence Networks with Text Data教程。使用了函数 cntk.blocks.Stabilizer(),但目前没有该函
给定配置 momentumPerMB=0.9,我在第一个 epoch 中观察到 momentumAsTimeConstant 的值。其余时期具有预期的此值。这似乎只发生在并行训练中(1bit 和 BM
如何验证 CNTK 是否正在使用 GPU?我已经在我的机器上安装了 CNTK-2-0-beta7-0-Windows-64bit-GPU-1bit-SGD 二进制文件。但是,当我尝试从 Python
我想知道CNTK死了吗? GitHub 上发布日期为 2019 年 3 月 31 日的发行说明:“今天的 2.7 版本将是 CNTK 的最后一个主要版本。”我花了几个月的时间使用 CNTK 开发软件,
在 CNTK 中创建带有卷积层的模型时,我收到以下警告: WARNING: Detected asymmetric padding issue with even kernel size and lo
我正在编写本教程: https://github.com/Microsoft/CNTK/blob/master/Tutorials/CNTK_201B_CIFAR-10_ImageHandsOn.ip
我是 CNTK 的新手。按照教程,我使用 BrainScript 创建了第一个示例,逻辑回归。运行脚本很顺利。但是我找不到 output.txt 文件,它应该是 BrainScript 配置中的输出命
我们正在使用适用于 CNTK 的 C# API 构建 LSTM 网络,但发现根据 CNTK 文档的当前级别很难确定输入的正确形状/尺寸。 我们有一个时间序列,每个时间 t 都有一个值(一个数字),我们
当我尝试使用 pip 安装 CNTK 时,出现以下错误 - Could not find a version that satisfies the requirement cntk (from ver
我使用 CNTK 构建了一个图像分类器。图像是灰度的。因此,我输入的 channel 数为 1。因此,模型需要 (1x64x64) 数据(64 是图像高度和宽度)。 问题是,当我尝试预测新图像的类别时
TensorFlow 有一个单独的项目用于其生产用途,如前所述 here ,称为 TensorFlow Serving。 我应该如何在生产环境中使用 CNTK,我应该如何处理它的部署?希望可以将经过训
似乎无法将预训练的嵌入加载到图层中。请参阅here 我所做的解决方法如下: model = create_model() E = [p for p in model.parameter
在 CNTK 中,它有 relu、hardmax、softmax、sigmoid 和所有这些好东西,但我正在构建一个基于回归的算法,最后一层需要预测 2 个或更多回归输出。所以我需要 n 个节点,并且
我当前的目标是从已训练的模型中克隆单个层。 第一个问题是 clone() 方法从提供的节点克隆整个图,这不是我想要的。 因此,我尝试通过从节点检索其权重来手动克隆它(在本例中为密集层),如下所示: n
我正尝试在 CNTK 中创建一个简单的卷积模型,如下所示 def create_model(hidden_dim, output_dim): nn=C.layers.Sequential([
将包含标签作为索引的向量(只是常规向量,而不是稀疏表示)转换为单热表示的 CNTK 方法是什么?这是 5 个类的示例: 输入 [2, 0, 1, 1] 期望的输出: [[0,0,1,0,0], [1,
我是一名优秀的程序员,十分优秀!