小编Ami*_*mir的帖子

查看DataFrame中是否存在值

在Python中检查值是否在列表中,您可以简单地执行以下操作:

>>>9 in [1,2,3,6,9]
True
Run Code Online (Sandbox Code Playgroud)

我想为Pandas DataFrame做同样的事情但不幸的是Pandas不承认这种表示法:

>>>import pandas as pd
>>>df = pd.DataFrame([[1,2,3,4],[5,6,7,8]],columns=["a","b","c","d"])
   a  b  c  d
0  1  2  3  4
1  5  6  7  8
>>>7 in df
False
Run Code Online (Sandbox Code Playgroud)

如何使用Pandas DataFrame实现这一目标而不迭代每个列/行或任何复杂的东西?

python dataframe pandas

4
推荐指数
1
解决办法
5270
查看次数

在输出文件中通过类wfstream编写波斯语(波斯语)

如何使用std::wfstream?将"خلیجفارس"这样的波斯文写入文件?
我试过跟随代码,但它不起作用.

#include <iostream>
#include <string>
#include <fstream>

int main()
{
    std::wfstream f("D:\\test.txt", std::ios::out);
    std::wstring s1(L"???? ????");
    f << s1.c_str();
    f.close();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

运行程序后该文件为空.

c++ string unicode persian farsi

4
推荐指数
1
解决办法
627
查看次数

将字符串列表转换为int

我有一个字符串列表,我想转换为int,或从一开始就在int中.

任务是从文本中提取数字(并得到总和).我做的是这样的:

for line in handle:
    line = line.rstrip()
    z = re.findall("\d+",line)
    if len(z)>0:
        lst.append(z)
print (z)
Run Code Online (Sandbox Code Playgroud)

这给了我一个像这样的清单[['5382', '1399', '3534'], ['1908', '8123', '2857'].我尝试map(int,...了另一件事,但我得到的错误如下:

TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
Run Code Online (Sandbox Code Playgroud)

python string list type-conversion

4
推荐指数
1
解决办法
328
查看次数

计算卷积神经网络中特征图的维度

我在 Keras 中有卷积神经网络。我需要知道每层特征图的尺寸。我的输入是 28 x 28 像素图像。我知道有一种方法可以计算这个我不知道如何。下面是我使用 Keras 的代码片段。

img_rows, img_cols = 28, 28
nb_filters = 32
nb_pool = 2
nb_conv = 3

model = Sequential()

model.add(Convolution2D(nb_filters, nb_conv, nb_conv, border_mode='valid', input_shape=(1, img_rows, img_cols)))
model.add(Activation('relu'))
model.add(Convolution2D(nb_filters, nb_conv, nb_conv))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
model.add(Dropout(0.25))

model.add(Convolution2D(64, nb_conv, nb_conv, border_mode='valid'))
model.add(Activation('relu'))
model.add(Convolution2D(64, nb_conv, nb_conv))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(nb_pool, nb_pool)))
model.add(Dropout(0.25))

model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))


model.add(Dense(nb_classes))
model.add(Activation('softmax'))
Run Code Online (Sandbox Code Playgroud)

我想画什么

归根结底,这就是我想画的。谢谢。

python machine-learning neural-network conv-neural-network keras

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

尝试在 Pytorch 中加载自定义数据集

我刚开始使用 PyTorch,不幸的是,在使用我自己的训练/测试图像数据集进行自定义算法时有点困惑。首先,我正在制作一个小型的“hello world”式卷积衬衫/袜子/裤子分类网络。我只加载了一些图像,只是确保 PyTorch 可以加载它们并将它们正确地转换为 32x32 可用图像。我的 ImageFolder 设置如下:

imgs/socks/ sockimages .jpeg
imgs/pants/ pantsimages .jpeg
imgs/shirt/ shirtimages .jpeg

以及我的测试图像文件夹的类似设置。根据我目前的知识,PyTorch 内置的图像加载器应该从训练/测试图像中的子文件夹名称中读取标签。但是,我TypeError抱怨我的迭代器不可迭代。这是我的代码和错误:

import torch
import torchvision
import torchvision.datasets as dset
import torchvision.transforms as transforms

transform = transforms.Compose(
[transforms.ToTensor(),
 transforms.Scale((32,32)),
 transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])

trainset = dset.ImageFolder(root="imgs",transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,shuffle=True,         num_workers=2)

testset = dset.ImageFolder(root='tests',transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=4,shuffle=True,     num_workers=2)

classes=('shirt','pants','sock')

import matplotlib.pyplot as plt
import numpy as np

# functions to show an image
def imshow(img):
    img = …
Run Code Online (Sandbox Code Playgroud)

python machine-learning dataset computer-vision pytorch

4
推荐指数
1
解决办法
9550
查看次数

pytorch如何为简单的线性回归模型计算梯度?

我正在使用pytorch并试图了解简单的线性回归模型如何工作。

我正在使用一个简单的LinearRegressionModel类:

class LinearRegressionModel(nn.Module):
    def __init__(self, input_dim, output_dim):
        super(LinearRegressionModel, self).__init__()
        self.linear = nn.Linear(input_dim, output_dim)  

    def forward(self, x):
        out = self.linear(x)
        return out

model = LinearRegressionModel(1, 1)
Run Code Online (Sandbox Code Playgroud)

接下来,我将实例化损耗标准和优化器

criterion = nn.MSELoss()

optimizer = torch.optim.SGD(model.parameters(), lr=0.01)
Run Code Online (Sandbox Code Playgroud)

最后训练模型,我使用以下代码:

for epoch in range(epochs):
    if torch.cuda.is_available():
        inputs = Variable(torch.from_numpy(x_train).cuda())

    if torch.cuda.is_available():
        labels = Variable(torch.from_numpy(y_train).cuda())

    # Clear gradients w.r.t. parameters
    optimizer.zero_grad() 

    # Forward to get output
    outputs = model(inputs)

    # Calculate Loss
    loss = criterion(outputs, labels)

    # Getting gradients w.r.t. parameters
    loss.backward()

    # Updating parameters
    optimizer.step() …
Run Code Online (Sandbox Code Playgroud)

python gradient regression neural-network pytorch

4
推荐指数
1
解决办法
1490
查看次数

如何将欧拉角转换为四元数并从四元数中获得相同的欧拉角?

我旋转N使用欧拉3D形状在角XYZ的顺序意味着该对象沿第一旋转X轴线,然后YZ。我想将欧拉角转换为四元数,然后使用一些 [最好] Python 代码或只是一些伪代码或算法从四元数返回相同的欧拉角。下面,我有一些代码将欧拉角转换为四元数,然后将四元数转换为欧拉角。然而,这并没有给我相同的欧拉角。

我认为问题是我不知道如何将偏航、俯仰和滚转与 X、Y 和 Z 轴相关联。另外,我不知道如何更改代码中的转换顺序以正确地将欧拉角转换为四元数,然后将四元数转换为欧拉角,以便我能够获得相同的欧拉角。有人可以帮我弄这个吗?

这是我使用的代码:

此函数将欧拉角转换为四元数:

def euler_to_quaternion(yaw, pitch, roll):

        qx = np.sin(roll/2) * np.cos(pitch/2) * np.cos(yaw/2) - np.cos(roll/2) * np.sin(pitch/2) * np.sin(yaw/2)
        qy = np.cos(roll/2) * np.sin(pitch/2) * np.cos(yaw/2) + np.sin(roll/2) * np.cos(pitch/2) * np.sin(yaw/2)
        qz = np.cos(roll/2) * np.cos(pitch/2) * np.sin(yaw/2) - np.sin(roll/2) * np.sin(pitch/2) * np.cos(yaw/2)
        qw = np.cos(roll/2) * np.cos(pitch/2) * np.cos(yaw/2) + np.sin(roll/2) * np.sin(pitch/2) * np.sin(yaw/2)

        return [qx, qy, qz, qw] …
Run Code Online (Sandbox Code Playgroud)

python math graphics rotation quaternions

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

re.findall() 与它的发现不匹配

我有一个文本文件,其中包含如下行:

<pattern number=1 theme=pseudo>
<pattern number=2 theme=foo>
<pattern number=3 theme=bar>
Run Code Online (Sandbox Code Playgroud)

我正在使用此函数选择一条随机线:

def find_random_pattern(theme):
    found_lines = []
    pattern = open('poempatterns.txt','r')
    for line in pattern:
        found = re.findall("theme="+theme,line)
        for match in found:
            found_lines.append(line)

    selectedline = random.choice(found_lines)
    return selectedline
Run Code Online (Sandbox Code Playgroud)

假设它返回了<pattern number=1 theme=pseudo>

当我用这个条件检查它时,它返回False

if find_random_pattern("pseudo") == "<pattern number=1 theme=pseudo>":
    return True
else:
    return False
Run Code Online (Sandbox Code Playgroud)

为什么这两个字符串不匹配?

python regex string

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

如何在theano中结合两个张量

我想知道如何组合两个变量,类似于在python中追加?例如,我们有两个变量(在用数据提供之后):

x:尺寸1*3 y:尺寸1*3

现在我想要一个变量,它将x和y组合成1*3*2的大小

谢谢,

python theano

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

检查Python输入是否包含关键字列表

AKA正确的版本:

if ['hi', 'hello', 'greetings'] in userMessage:
    print('Hello!')
Run Code Online (Sandbox Code Playgroud)

我尝试了上面显示的内容,但它说不能使用列表,它必须使用单个字符串.如果我将数组设置为对象/变量也是一样的.如果我使用"或"它似乎完全不起作用.

python input keyword-search

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