小编wfg*_*geo的帖子

Pytorch 说 CUDA 不可用

我正在尝试在我拥有的笔记本电脑上运行 Pytorch。这是一款较旧的型号,但确实配备了 Nvidia 显卡。我意识到它可能不足以用于真正的机器学习,但我正在尝试这样做,以便我可以学习安装 CUDA 的过程。

我遵循了Ubuntu 18.04安装指南中的步骤(我的特定发行版是 Xubuntu)。

我的显卡是 GeForce 845M,经验证lspci | grep nvidia

01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce 845M] (rev a2)
01:00.1 Audio device: NVIDIA Corporation Device 0fbc (rev a1)
Run Code Online (Sandbox Code Playgroud)

我还安装了 gcc 7.5,通过验证 gcc --version

gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Run Code Online (Sandbox Code Playgroud)

我安装了正确的标头,通过尝试安装它们来验证sudo …

linux pytorch ubuntu-18.04

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

psycopg2和SQL注入安全性

我正在编写一个类,用作更大的建模算法的一部分.我的部分进行空间分析来计算从某些点到其他点的距离.存在涉及返回距离,截止距离等的各种条件.

目前,项目规范仅指示硬编码情况.即"功能#1需要列出500米范围内从点集A到点集B的所有距离.功能#2需要列出从点集C到点集D的所有距离......"等等.

我不想硬编码这些参数,也不想开发模型的下一阶段的人,因为显然他们想调整参数或者可能在其他具有不同条件的项目中重复使用算法.

现在的问题是我使用psycopg2来做到这一点.这是我工作的标准,所以我没有选择偏离它.我已经读过,由于SQL注入的明显原因,公开将作为参数放入执行查询的参数是一个非常糟糕的主意.但是,我认为psycopg2会自动清理SQL输入.我认为问题在于使用该AsIs功能.

简单的解决方案就是按照项目中的规定对其进行硬编码,但这对我来说感觉很懒散.我不喜欢做懒惰和草率的工作.

允许用户输入将输入到psycopg2执行的查询中的参数是否安全?或者只是使用AsIs它使它不安全?如果我想让用户能够输入这些参数,我是否必须自己承担输入的责任,如果是这样,有一种快速简便的方法,比如使用另一个python库或什么?

python postgresql postgis psycopg2

8
推荐指数
3
解决办法
6985
查看次数

无法为python安装GDAL

首先让我说我已经搜索了这个问题的帮助,并经历了我找到的众多主题,但没有一个有效,或者我无法理解他们的意思.

一旦这样的线程在这里:Python GDAL包在通过pip安装时缺少头文件

我能跑了

pip install --no-install GDAL
Run Code Online (Sandbox Code Playgroud)

但后来我被指示"进入ENV/build/GDAL".我知道cd意味着什么,但我不知道这个/ ENV/build/GDAL diretory将位于何处,并且在帖子或它引用的帖子中没有关于它的更多信息.

核心问题只是我想安装GDAL以便在Python中使用.我试过了

pip安装GDAL,它输出失败:

    Collecting GDAL
  Using cached GDAL-2.0.1.tar.gz
Installing collected packages: GDAL
  Running setup.py install for GDAL
    Complete output from command c:\users\isaac\appdata\local\programs\python\python35-32\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\Isaac\\AppData\\Local\\Temp\\pip-build-4kmkv1_4\\GDAL\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record C:\Users\Isaac\AppData\Local\Temp\pip-fxko2gfx-record\install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build\lib.win32-3.5
    copying gdal.py -> build\lib.win32-3.5
    copying ogr.py -> build\lib.win32-3.5
    copying osr.py -> build\lib.win32-3.5
    copying gdalconst.py -> build\lib.win32-3.5
    creating build\lib.win32-3.5\osgeo
    copying osgeo\gdal.py -> build\lib.win32-3.5\osgeo
    copying …
Run Code Online (Sandbox Code Playgroud)

python pip gdal

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

如何从 psycopg2 导入“连接”类?

我想专门connection从 psycopg2 导入该类,因为我想指定我的函数之一的参数确实是有效的 psycopg2 连接。

但我无法准确定位它的存储位置。文档页面在这里,但我似乎找不到任何对其定义位置的引用,并且在源代码中浏览让我更加困惑。

到目前为止我已经尝试过:

from psycopg2 import connection
from psycopg2.extensions import connection
from psycopg2.extras import connection
from psycopg2.sql import connection
Run Code Online (Sandbox Code Playgroud)

但它们都不是有效的参考

python psycopg2

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

需要从2d numpy数组中获取输入单元的3x3邻域

我试图定义一个函数,它将返回输入单元格的3x3邻域.现在我有:

def queen_neighbourhood(in_forest, in_row, in_col):

    neighbourhood = in_forest[in_row-1:in_row+1, in_col-1:in_col+1]

    return neighbourhood
Run Code Online (Sandbox Code Playgroud)

(in_forest是输入数组).

当我运行它时,它似乎只返回2x2矩阵,而不是3x3.为什么是这样?在我看来,我正在输入行和列引用,然后切出一个在输入行后面开始一行的正方形,并在它之前结束一行,然后对于列进行相同的处理.

例如,给定一个输入数组:

[ 01, 02, 03, 04, 05
  06, 07, 08, 09, 10
  11, 12, 13, 14, 15
  16, 17, 18, 19, 20
  21, 22, 23, 24, 25 ]
Run Code Online (Sandbox Code Playgroud)

然后使用第2行第3列,我想返回一个矩阵:

[ 02, 03, 04
  07, 08, 09
  12, 13, 14 ]
Run Code Online (Sandbox Code Playgroud)

python arrays numpy

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

是否可以在 Python 图像库 (PIL) 中屏蔽图像?

我有一些交通摄像头图像,我只想提取道路上的像素。我以前使用过遥感软件,可以指定类似的操作

img1 * img2 = img3

其中 img1 是原始图像,img2 是直接的黑白蒙版。本质上,图像的白色部分将评估为

img1 * 1 = img3

黑色部分的评估结果为

img1 * 0 = img3

因此,人们可以拍摄图像的一部分,让所有不重要的区域变成黑色。

有没有办法使用 PIL 来做到这一点?我找不到任何与我习惯看到的图像代数类似的东西。我尝试过混合功能,但这只会使它们一起消失。我已经阅读了一些关于 numpy 的内容,看起来它可能能够做到这一点,但在我深入研究之前,我想确定在 PIL 中没有直接的方法可以做到这一点。

谢谢。

python image mask image-processing python-imaging-library

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

不能超过默认最大值的两个数字的总和

假设我有一个数字变量,它将添加另一个值,但我想确保该变量永远不会超过最大值,并且一旦超过,将简单地默认为最大值。

例如,给定最大值 100,以及执行此操作的函数,该函数称为maxadd

input1 = 90
input2 = 8
maxadd(input1, input2, 100)
>>> 98

input1 = 95
input2 = 8
maxadd(input1, input2, 100)
>>> 100
Run Code Online (Sandbox Code Playgroud)

我可以将它定义为这样的普通函数:

def maxadd(a, b, _max):
    res = a + b
    if res > _max:
        return _max
    return res
Run Code Online (Sandbox Code Playgroud)

但我觉得它可以在一行中完成,也许可以使用 lambda。我似乎无法弄清楚什么。性能也是一个问题,所以我想要最快的解决方案,我觉得这个功能可能会采取不必要的步骤

python sum

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