小编blu*_*nox的帖子

在VS Code中打印一个pandas数据帧

我想知道在调试(第一张图片)时是否可以在VS Code中显示一个pandas数据帧,因为它显示在PyCharm中(第二张图片)?

谢谢你的帮助.


df 在vs代码中打印:

df在vs代码中打印

df 在pycharm中打印:

df在pycharm中打印

python debugging dataframe pandas visual-studio-code

16
推荐指数
2
解决办法
1506
查看次数

PyTorch中的交叉熵

我对PyTorch中的交叉熵损失感到有些困惑.

考虑这个例子:

import torch
import torch.nn as nn
from torch.autograd import Variable

output = Variable(torch.FloatTensor([0,0,0,1])).view(1, -1)
target = Variable(torch.LongTensor([3]))

criterion = nn.CrossEntropyLoss()
loss = criterion(output, target)
print(loss)
Run Code Online (Sandbox Code Playgroud)

我希望损失为0.但我得到:

Variable containing:
 0.7437
[torch.FloatTensor of size 1]
Run Code Online (Sandbox Code Playgroud)

据我所知,交叉熵可以像这样计算:

在此输入图像描述

但不应该是1*log(1)= 0的结果?

我尝试了不同的输入,如单热编码,但这根本不起作用,所以看起来损失函数的输入形状是可以的.

如果有人可以帮助我并告诉我我的错误在哪里,我将非常感激.

提前致谢!

machine-learning entropy loss deep-learning pytorch

15
推荐指数
4
解决办法
2万
查看次数

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

使用PyTorch进行就地操作

我想知道如何处理PyTorch中的就地操作.我记得在autograd中使用就地操作一直存在问题.

实际上,我很惊讶下面这段代码可以工作,即使我没有测试它,我相信这段代码会引发版本错误0.3.1.

基本上我想做的是将张量向量的某个位置设置为某个值,如:

my_tensor[i] = 42
Run Code Online (Sandbox Code Playgroud)

工作示例代码:

# test parameter a
a = torch.rand((2), requires_grad=True)
print('a ', a)
b = torch.rand(2)

# calculation
c = a + b

# performing in-place operation
c[0] = 0
print('c ', c)
s = torch.sum(c)
print('s ', s)

# calling backward()
s.backward()

# optimizer step
optim = torch.optim.Adam(params=[a], lr=0.5)
optim.step()

# changed parameter a
print('changed a', a)
Run Code Online (Sandbox Code Playgroud)

输出:

a  tensor([0.2441, 0.2589], requires_grad=True)
c  tensor([0.0000, 1.1511], grad_fn=<CopySlices>)
s  tensor(1.1511, grad_fn=<SumBackward0>)
changed a tensor([ …
Run Code Online (Sandbox Code Playgroud)

python neural-network deep-learning pytorch autograd

14
推荐指数
1
解决办法
1938
查看次数

tensorflow标量摘要标记名称异常

我正在尝试通过遵循HowTo mnist教程来学习如何使用tensorflow摘要编写器.该教程添加了损失函数的标量摘要.我通过建立一个正则化术语写了一个不寻常的损失函数,我得到了这个例外:

W tensorflow/core/common_runtime/executor.cc:1027] 0x1e9ab70 Compute status: Invalid argument: tags and values not the same shape: [] != [1]
     [[Node: ScalarSummary = ScalarSummary[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](ScalarSummary/tags, loss)]]
Run Code Online (Sandbox Code Playgroud)

丢失功能和添加摘要看起来像

loss = tf.add(modelError, regularizationTerm, name='loss')
tf.scalar_summary(loss.op.name, loss)
Run Code Online (Sandbox Code Playgroud)

如果我像这样建立正规化条款

regularizationTerm = tf.Variable(tf.zeros([1], dtype=np.float32), name='regterm')
regularizationTerm +=  tf.mul(2.0, regA)
regularizationTerm +=  tf.mul(3.0, regB)
Run Code Online (Sandbox Code Playgroud)

regA和regB是tf.Variables之前定义的,我得到了异常,而我是建立起来的

regularizationTerm = tf.add(tf.mul(2.0, regA), tf.mul(3.0, regB), name='regterm')
Run Code Online (Sandbox Code Playgroud)

然后它工作.所以我想我没有正确设置名称,当我做+ =我创建一个未命名的新张量?但为什么我不能把它添加到损失中,然后命名损失?这是我唯一要总结的事情吗?

是否有类似+ =的地方,我可以命名输出,或保留我正在修改的张量的名称?

如果问题与其他问题有关,这是我发现问题的简单示例:

import numpy as np
import tensorflow as tf

def main():
    x_input = tf.placeholder(tf.float32, shape=(None, 1))
    y_output = tf.placeholder(tf.float32, shape=(None, 1)) …
Run Code Online (Sandbox Code Playgroud)

tensorflow

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

提高图像处理的准确性,以计数真菌孢子

我试图用Pythony从微观样本中计算一种疾病的孢子数量,但到目前为止还没有取得多大成功.

因为孢子的颜色与背景相似,而且许多都很接近.

按照样品的照相显微镜检查.

孢子的微观照片

图像处理代码:

import numpy as np
import argparse
import imutils
import cv2

ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", required=True,
                help="path to the input image")
ap.add_argument("-o", "--output", required=True,
                help="path to the output image")
args = vars(ap.parse_args())

counter = {}

image_orig = cv2.imread(args["image"])
height_orig, width_orig = image_orig.shape[:2]

image_contours = image_orig.copy()

colors = ['Yellow']
for color in colors:

    image_to_process = image_orig.copy()

    counter[color] = 0

    if color == 'Yellow':
        lower = np.array([70, 150, 140])  #rgb(151, 143, 80)
        upper = np.array([110, 240, 210])  #rgb(212, …
Run Code Online (Sandbox Code Playgroud)

python algorithm image-processing cv2

13
推荐指数
1
解决办法
582
查看次数

Libsvm预先计算的内核

我正在使用libsvm与预先计算的内核.我为示例数据集heart_scale生成了一个预先计算的内核文件并执行了该函数svmtrain().它工作正常,支持向量被正确识别,即类似于标准内核.

但是,当我尝试运行时svmpredict(),它为预先计算的模型文件提供了不同的结果.在深入研究代码之后,我注意到该svm_predict_values()函数需要支持向量的实际特征,这在预计算模式下是不可用的.在预先计算模式中,我们只有每个支持向量的系数和索引,这被误认为是它的特征svmpredict().

这是一个问题还是我错过了什么.

(请告诉我如何svmpredict()在预先计算模式下运行.)

machine-learning libsvm scikit-learn

11
推荐指数
1
解决办法
4267
查看次数

Keras IndexError:索引超出范围

我是Keras的新手,我试图在数据集上做二进制MLP,并且不知道为什么会让索引超出界限.

from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD

model = Sequential()
model.add(Dense(64, input_dim=20, init='uniform', activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy',
          optimizer='rmsprop')
model.fit(trainx, trainy, nb_epoch=20, batch_size=16) # THROWS INDICES ERROR
Run Code Online (Sandbox Code Playgroud)

错误:

model.fit(trainx, trainy, nb_epoch=20, batch_size=16)

Epoch 1/20
Traceback (most recent call last):

  File "<ipython-input-6-c81bd7606eb0>", line 1, in <module>
model.fit(trainx, trainy, nb_epoch=20, batch_size=16)

  File "C:\Users\Thiru\Anaconda3\lib\site-packages\keras\models.py", line 646, in fit
shuffle=shuffle, metrics=metrics)

  File "C:\Users\Thiru\Anaconda3\lib\site-packages\keras\models.py", line 271, in _fit
ins_batch = slice_X(ins, batch_ids)

  File "C:\Users\Thiru\Anaconda3\lib\site-packages\keras\models.py", …
Run Code Online (Sandbox Code Playgroud)

neural-network theano keras

11
推荐指数
3
解决办法
8162
查看次数

如何在Python中将JSON转换为XLS

有谁知道如何在Python中将JSON转换为XLS?

我知道可以xls使用xlwtPython中的包创建文件.

如果我想直接将JSON数据转换为XLS文件怎么办?

有没有办法存档?

python json xls

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

仅更新Tensorflow中单词嵌入矩阵的一部分

假设我想在训练期间更新预训练的字嵌入矩阵,有没有办法只更新字嵌入矩阵的子集?

我查看了Tensorflow API页面,发现了这个:

# Create an optimizer.
opt = GradientDescentOptimizer(learning_rate=0.1)

# Compute the gradients for a list of variables.
grads_and_vars = opt.compute_gradients(loss, <list of variables>)

# grads_and_vars is a list of tuples (gradient, variable).  Do whatever you
# need to the 'gradient' part, for example cap them, etc.
capped_grads_and_vars = [(MyCapper(gv[0]), gv[1])) for gv in grads_and_vars]

# Ask the optimizer to apply the capped gradients.
opt.apply_gradients(capped_grads_and_vars)
Run Code Online (Sandbox Code Playgroud)

但是,我如何将其应用于字嵌入矩阵.假设我这样做:

word_emb = tf.Variable(0.2 * tf.random_uniform([syn0.shape[0],s['es']], minval=-1.0, maxval=1.0, dtype=tf.float32),name='word_emb',trainable=False)

gather_emb = tf.gather(word_emb,indices) #assuming that …
Run Code Online (Sandbox Code Playgroud)

tensorflow word-embedding

10
推荐指数
2
解决办法
3646
查看次数