小编Joã*_*ias的帖子

如何将 Numba 用于 Pytorch 张量?

我是 Numba 新手,我需要使用 Numba 来加速一些 Pytorch 功能。但我发现即使是一个非常简单的功能也不起作用:(

import torch
import numba

@numba.njit()
def vec_add_odd_pos(a, b):
    res = 0.
    for pos in range(len(a)):
        if pos % 2 == 0:
            res += a[pos] + b[pos]
    return res

x = torch.tensor([3, 4, 5.])
y = torch.tensor([-2, 0, 1.])
z = vec_add_odd_pos(x, y)
Run Code Online (Sandbox Code Playgroud)

但出现以下错误

def vec_add_odd_pos(a, b):
    res = 0.
    ^

This error may have been caused by the following argument(s):
- argument 0: cannot determine Numba type of <class 'torch.Tensor'>
- argument 1: …
Run Code Online (Sandbox Code Playgroud)

numba pytorch tensor

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

使用特定列键入提示 pandas 数据框

假设我有以下函数:

def foo(df: pd.DataFrame) -> pd.DataFrame:
    x = df["x"]
    y = df["y"]
    df["xy"] = x * y

    return df
Run Code Online (Sandbox Code Playgroud)

有没有办法暗示我的函数正在接受必须具有“x”和“y”列的数据框,并且它将返回一个具有“x”、“y”和“xy”列的数据框,而不仅仅是一个通用的数据框?

python type-hinting pandas

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

具有多个模型的 Django 模板

我有一个模板,我需要从中呈现来自多个模型的信息。我的 models.py 看起来像这样:

# models.py
from django.db import models

class foo(models.Model):
    ''' Foo content '''

class bar(models.Model):
    ''' Bar content '''
Run Code Online (Sandbox Code Playgroud)

我还有一个文件 views.py,我根据这个 Django 文档这里给出的答案从中编写,看起来像这样:

# views.py
from django.views.generic import ListView
from app.models import *

class MyView(ListView):
    context_object_name = 'name'
    template_name = 'page/path.html'
    queryset = foo.objects.all()

    def get_context_data(self, **kwargs):
        context = super(MyView, self).get_context_data(**kwargs)
        context['bar'] = bar.objects.all()

        return context
Run Code Online (Sandbox Code Playgroud)

我在 urls.py 上的 urlpatterns 有以下对象:

url(r'^path$',views.MyView.as_view(), name = 'name'),
Run Code Online (Sandbox Code Playgroud)

我的问题是,在模板 page/path.html 上,如何从 foo 和 bar 引用对象和对象属性以在我的页面中显示它们?

python django django-templates jinja2

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

在 Kubeflow 管道中共享秘密

我想与我的 Kubeflow 管道共享一些秘密,以便我可以将它们用作容器中的环境变量。我编写了一个 pipeline-secrets.yaml ,如下所示:

apiVersion: v1
kind: Secret
metadata:
  name: pipeline-secrets
  namespace: kubeflow
type: Opaque
data:
  mysql_db_name: <SECRET>
  mysql_username: <SECRET>
  mysql_password: <SECRET>
  mysql_endpoint: <SECRET>
Run Code Online (Sandbox Code Playgroud)

和 pipeline-pod-defaults.yaml 如下所示:

apiVersion: kubeflow.org/v1alpha1
kind: PodDefault
metadata:
  name: pipeline-pod-defaults
  namespace: kubeflow
specs:
  desc: Configure pipeline secrets as environment variables
  env:
  - name: MYSQL_DB_NAME
    valueFrom:
      secretKeyRef:
        name: pepeline-secrets
        key: mysql_db_name
  - name: MYSQL_USER_NAME
    valueFrom:
      secretKeyRef:
        name: pepeline-secrets
        key: mysql_username
  - name: MYSQL_PASSWORD
    valueFrom:
      secretKeyRef:
        name: pepeline-secrets
        key: mysql_password
  - name: MYSQL_ENDPOINT
    valueFrom:
      secretKeyRef:
        name: pepeline-secrets …
Run Code Online (Sandbox Code Playgroud)

python kubernetes kubeflow kubeflow-pipelines

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

在Python中编写巨大的字符串

我有一个很长的字符串,几乎有一兆字节长,我需要将其写入文本文件。常规的

file = open("file.txt","w")
file.write(string)
file.close()
Run Code Online (Sandbox Code Playgroud)

可以,但是太慢了,有什么办法可以写得更快吗?

我正在尝试将几百万位数字写入文本文件,该数字约为math.factorial(67867957)

这是分析中显示的内容:

    203 function calls (198 primitive calls) in 0.001 seconds

   Ordered by: standard name

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        1    0.000    0.000    0.000    0.000 <string>:1(<module>)
        1    0.000    0.000    0.000    0.000 re.py:217(compile)
        1    0.000    0.000    0.000    0.000 re.py:273(_compile)
        1    0.000    0.000    0.000    0.000 sre_compile.py:172(_compile_charset)
        1    0.000    0.000    0.000    0.000 sre_compile.py:201(_optimize_charset)
        4    0.000    0.000    0.000    0.000 sre_compile.py:25(_identityfunction)
      3/1    0.000    0.000    0.000    0.000 sre_compile.py:33(_compile)
        1    0.000    0.000    0.000    0.000 sre_compile.py:341(_compile_info)
        2    0.000    0.000 …
Run Code Online (Sandbox Code Playgroud)

python performance file-io python-3.x

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

在次线性时间计算斐波纳契函数

所以,这是问题所在:

给定一个数字n我需要计算递归计算该数字的斐波纳契所需的调用量,并仅输出给定基数中的最后一位数作为小数.输入为2个数字,第一个是数字n,第二个是输出所在的基数.输出应该是大小写数字,第一个输入,第二个输入和计算结果.当第一个条目等于第二个等于0的条目时,程序应该退出.例如:

输入:
0 100
1 100
2 100
3 100
10 10
3467 9350
0 0

输出:
案例1:0 100 1
案例2:1 100 1
案例3:2 100 3
案例4:3 100 5
案例
5:10 10 7 案例6:3467 9350 7631

在尝试解决这个问题时,我已经达到了以下公式.作为c(n)它将在基数b中进行的调用次数的最后一位数,我们得到:

c(n)=(c(n-1)+ c(n-2)+ 1)mod b

问题是n可以是从0到2 ^ 63 - 1的任何值,所以我真的需要代码有效.我尝试过以迭代方式或使用动态编程,但是虽然它给了我正确的输出,但它并没有给我足够短的时间.这是我的代码:

迭代

#include <iostream>
#include <vector>

using namespace std;

int main(){
    vector<unsigned long long int> v;
    unsigned long long int x,y,co=0;
    cin >> x >> y;
    while(x||y){
        co++;
        v.push_back(1);
        v.push_back(1);
        for(int i=2;i<=x;i++) v.push_back((v[i-1]+v[i-2]+1)%y);
        cout …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm performance fibonacci

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

阅读haskell中的数字列表

我正在学习Haskell,我正在解决一个问题,我不得不从列表中删除重复的连续数字,所以我编写了这个程序.

destutter::[Integer] -> [Integer]
destutter [] = []
destutter (fst:snd:t) | fst == snd = destutter (snd : t)
destutter (h:t) = [h] ++ (destutter t)
Run Code Online (Sandbox Code Playgroud)

它适用于我所拥有的输入测试列表

input = [200, 271, 305, 305, 180]
Run Code Online (Sandbox Code Playgroud)

现在我有一个包含大量输入的文本文件,我需要在其上使用我的函数,如果是在C++中我会做类似的事情:

while(cin>> x)
    v.push_back(x);
destutter(x);
Run Code Online (Sandbox Code Playgroud)

但我对Haskell完全不熟悉,我不知道如何用这种语言做到这一点.我在堆栈溢出时找到了这个答案但是无法修改代码供我使用,所以如果有人可以给一个菜鸟,我会非常感激.我的文本文件具有以下结构:

260
221
235
268
...
Run Code Online (Sandbox Code Playgroud)

haskell

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

Kubeflow管道创建容器失败

我正在本地计算机中运行 Kubeflow,并使用这些步骤通过多通道部署,但是当我尝试运行管道时,它卡住了消息 ContainerCreating。当我运行时,kubectl describe pod train-pipeline-msmwc-1648946763 -n kubeflow我在描述的事件部分发现了这一点:

Events:
  Type     Reason       Age                    From                  Message
  ----     ------       ----                   ----                  -------
  Warning  FailedMount  7m12s (x51 over 120m)  kubelet, kubeflow-vm  Unable to mount volumes for pod "train-pipeline-msmwc-1648946763_kubeflow(45889c06-87cf-4467-8cfa-3673c7633518)": timeout expired waiting for volumes to attach or mount for pod "kubeflow"/"train-pipeline-msmwc-1648946763". list of unmounted volumes=[docker-sock]. list of unattached volumes=[podmetadata docker-sock mlpipeline-minio-artifact pipeline-runner-token-dkvps]
  Warning  FailedMount  2m22s (x67 over 122m)  kubelet, kubeflow-vm  MountVolume.SetUp failed for volume "docker-sock" : hostPath type check failed: /var/run/docker.sock …
Run Code Online (Sandbox Code Playgroud)

kubernetes kubeflow

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