小编Mil*_* Lu的帖子

git diff:--cached和--staged之间有什么区别

要比较上一次提交的阶段:

git diff --cached
git diff --staged
Run Code Online (Sandbox Code Playgroud)

两个命令都会产生相同的结果,对吧?

git git-diff

26
推荐指数
3
解决办法
3841
查看次数

什么是XLA_GPU和XLA_CPU for tensorflow

我可以列出gpu设备唱下面的tensorflow代码:

import tensorflow as tf
from tensorflow.python.client import device_lib
print device_lib.list_local_devices()
Run Code Online (Sandbox Code Playgroud)

结果是:

[name: "/device:CPU:0"
 device_type: "CPU"
 memory_limit: 268435456
 locality {
 }
 incarnation: 17897160860519880862, name: "/device:XLA_GPU:0"
 device_type: "XLA_GPU"
 memory_limit: 17179869184
 locality {
 }
 incarnation: 9751861134541508701
 physical_device_desc: "device: XLA_GPU device", name: "/device:XLA_CPU:0"
 device_type: "XLA_CPU"
 memory_limit: 17179869184
 locality {
 }
 incarnation: 5368380567397471193
 physical_device_desc: "device: XLA_CPU device", name: "/device:GPU:0"
 device_type: "GPU"
 memory_limit: 21366299034
 locality {
   bus_id: 1
   links {
     link {
       device_id: 1
       type: "StreamExecutor"
       strength: 1
     }
   }
 }
 incarnation: 7110958745101815531
 physical_device_desc: "device: …
Run Code Online (Sandbox Code Playgroud)

python gpu tensorflow

19
推荐指数
1
解决办法
1万
查看次数

当Variable的第一个维度为None时,使用tf.unpack()

我用动态形状的Tensor喂食:

x = tf.placeholder(tf.int32, shape=[None, vector_size])

我需要把它变成一个有shape=[1, vector_size]使用的张量列表x_list = tf.unpack(x, 0)

但它提出了一个ValueError因为第一维的长度是未知的,即它是None.

我一直试图通过使用另一个tf.placeholder动态提供形状来绕过这个,x但参数shape不能是Tensor.

我怎样才能tf.unpack()在这种情况下使用?

或者是否还有另一个函数可以将我输入的变量转换为张量列表?

提前致谢.

python machine-learning tensorflow

14
推荐指数
2
解决办法
8150
查看次数

PyTorch:使用numpy数组为GRU/LSTM手动设置权重参数

我正在尝试用pytorch中的手动定义参数填充GRU/LSTM.

我有numpy数组用于参数的形状,如文档中所定义(https://pytorch.org/docs/stable/nn.html#torch.nn.GRU).

它似乎工作,但我不确定返回的值是否正确.

这是用numpy参数填充GRU/LSTM的正确方法吗?

gru = nn.GRU(input_size, hidden_size, num_layers,
              bias=True, batch_first=False, dropout=dropout, bidirectional=bidirectional)

def set_nn_wih(layer, parameter_name, w, l0=True):
    param = getattr(layer, parameter_name)
    if l0:
        for i in range(3*hidden_size):
            param.data[i] = w[i*input_size:(i+1)*input_size]
    else:
        for i in range(3*hidden_size):
            param.data[i] = w[i*num_directions*hidden_size:(i+1)*num_directions*hidden_size]

def set_nn_whh(layer, parameter_name, w):
    param = getattr(layer, parameter_name)
    for i in range(3*hidden_size):
        param.data[i] = w[i*hidden_size:(i+1)*hidden_size]

l0=True

for i in range(num_directions):
    for j in range(num_layers):
        if j == 0:
            wih = w0[i, :, :3*input_size]
            whh = w0[i, :, 3*input_size:]  # …
Run Code Online (Sandbox Code Playgroud)

python lstm pytorch rnn

12
推荐指数
2
解决办法
4053
查看次数

如何在Pytorch中可视化网络?

import torch
import torch.nn as nn
import torch.optim as optim
import torch.utils.data as data
import torchvision.models as models
import torchvision.datasets as dset
import torchvision.transforms as transforms
from torch.autograd import Variable
from torchvision.models.vgg import model_urls
from torchviz import make_dot

batch_size = 3
learning_rate =0.0002
epoch = 50

resnet = models.resnet50(pretrained=True)
print resnet
make_dot(resnet)
Run Code Online (Sandbox Code Playgroud)

我想resnet从pytorch模型可视化。我该怎么做?我尝试使用,torchviz但出现错误:

'ResNet' object has no attribute 'grad_fn'
Run Code Online (Sandbox Code Playgroud)

python pytorch

11
推荐指数
5
解决办法
9742
查看次数

使用const_iterator时为什么可以在向量中插入元素

考虑下面的代码,

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main(){
    vector<int> value{22, 23, 25, 34, 99};
    auto it = find(value.cbegin(), value.cend(), 25);
    value.insert(it, 77);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

it是一个const_iterator.在插入之前,它指向25.插入后,它指向77.这不会被视为修改吗?

c++ const-iterator c++14

10
推荐指数
1
解决办法
567
查看次数

在Keras中添加神经网络层的这两种方法有什么区别?

我正在使用Keras和Theano作为后端,我有顺序神经网络模型.

我想知道以下是否有区别?

model.add(Convolution2D(32, 3, 3, activation='relu'))
Run Code Online (Sandbox Code Playgroud)

model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
Run Code Online (Sandbox Code Playgroud)

python neural-network theano conv-neural-network keras

8
推荐指数
1
解决办法
523
查看次数

我们如何在 Keras 中定义一对一、一对多、多对一和多对多 LSTM 神经网络?

我正在阅读这篇文章(The Unreasonable Effectiveness of Recurrent Neural Networks),想了解如何在 Keras 中表达一对一、一对多、多对一和多对多 LSTM 神经网络. 我已经阅读了很多关于 RNN 并了解 LSTM NN 的工作原理,特别是消失梯度、LSTM 单元、它们的输出和状态、序列输出等。但是,我无法在 Keras 中表达所有这些概念。

首先,我使用 LSTM 层创建了以下玩具神经网络

from keras.models import Model
from keras.layers import Input, LSTM
import numpy as np

t1 = Input(shape=(2, 3))
t2 = LSTM(1)(t1)
model = Model(inputs=t1, outputs=t2)

inp = np.array([[[1,2,3],[4,5,6]]])
model.predict(inp)
Run Code Online (Sandbox Code Playgroud)

输出:

array([[ 0.0264638]], dtype=float32)
Run Code Online (Sandbox Code Playgroud)

在我的示例中,我的输入形状为 2 x 3。据我所知,这意味着输入是 2 个向量的序列,每个向量具有 3 个特征,因此我的输入必须是 shape 的 3D 张量(n_examples, 2, 3)。在'sequences'方面,输入是一个长度为2的序列,该序列中的每个元素用3个特征表示(如有错误请指正)。当我打电话predict它时,它会返回一个带有单个标量的 2 维张量。所以,

Q1:是一对一的还是其他类型的LSTM网络?

当我们说“一个/多个输入和一个/多个输出”时

Q2:我们所说的“一个/多个输入/输出”是什么意思?“一个/多个”标量、向量、序列……,一个/多个什么? …

python neural-network lstm keras recurrent-neural-network

8
推荐指数
1
解决办法
1万
查看次数

sklearn 交叉验证中的自定义评分函数

我想使用一个自定义函数,cross_validate它使用特定y_test的计算精度,这y_test与实际目标不同y_test

我尝试了几种方法,make_scorer但我不知道如何实际通过我的替代方法y_test

scoring = {'prec1': 'precision',
     'custom_prec1': make_scorer(precision_score()}

scores = cross_validate(pipeline, X, y, cv=5,scoring= scoring)
Run Code Online (Sandbox Code Playgroud)

任何人都可以建议一种方法吗?

python scikit-learn cross-validation

8
推荐指数
1
解决办法
2948
查看次数

如何隐式地将整数转换为double?

int a{5},b{2},c{9};
double d = (double)a / (double)b + (double)c;
Run Code Online (Sandbox Code Playgroud)

或者我可以使用static_cast.无论哪种方式都很冗长,特别是当公式很长时.有更好的解决方案吗?

c++

7
推荐指数
2
解决办法
3万
查看次数