小编Num*_*uis的帖子

sklearn Kfold访问单折而不是循环

在使用cross_validation.KFold(n,n_folds = folds)之后,我想访问索引以进行单折的训练和测试,而不是遍历所有折叠.

那么我们来看一下示例代码:

from sklearn import cross_validation
X = np.array([[1, 2], [3, 4], [1, 2], [3, 4]])
y = np.array([1, 2, 3, 4])
kf = cross_validation.KFold(4, n_folds=2)

>>> print(kf)  
sklearn.cross_validation.KFold(n=4, n_folds=2, shuffle=False,
                           random_state=None)
>>> for train_index, test_index in kf:
Run Code Online (Sandbox Code Playgroud)

我想像这样访问kf中的第一个折叠(而不是for循环):

train_index, test_index in kf[0]
Run Code Online (Sandbox Code Playgroud)

这应该只返回第一个折叠,但我得到错误:"TypeError:'KFold'对象不支持索引"

我想要的输出:

>>> train_index, test_index in kf[0]
>>> print("TRAIN:", train_index, "TEST:", test_index)
TRAIN: [2 3] TEST: [0 1]
Run Code Online (Sandbox Code Playgroud)

链接:http://scikit-learn.org/stable/modules/generated/sklearn.cross_validation.KFold.html

如何检索列车和测试的索引只有一个折叠,而不通过整个for循环?

python scikit-learn cross-validation

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

Python numpy减法没有负数(4-6给出254)

我希望从彼此中减去2个灰色人脸以查看差异,但我遇到了减去例如[4] - [6]而不是[-2](或差异:[2])的问题.

print(type(face)) #<type 'numpy.ndarray'>
print(face.shape) #(270, 270)
print(type(nface)) #<type 'numpy.ndarray'>
print(nface.shape) #(270, 270)

#This is what I want to do:
sface = face - self.nface #or
sface = np.subtract(face, self.nface)
Run Code Online (Sandbox Code Playgroud)

两者都不给出负数,而是从255减去0之后的其余部分.

sface的输出示例:

[[  8 255   8 ...,   0 252   3]
 [ 24  18  14 ..., 255 254 254]
 [ 12  12  12 ...,   0   2 254]
 ..., 
 [245 245 251 ..., 160 163 176]
 [249 249 252 ..., 157 163 172]
 [253 251 247 ..., 155 …
Run Code Online (Sandbox Code Playgroud)

python numpy subtraction grayscale array-difference

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

Pandas选择带有正则表达式的列并除以值

我想将某些列中与正则表达式匹配的所有值除以某个值,并且仍然具有完整的数据帧.

可以在这里找到:如何通过regex从数据框中选择列,例如,所有以d开头的列都可以选择:

df.filter(regex=("d.*"))
Run Code Online (Sandbox Code Playgroud)

现在我选择了我需要的列,我希望例如将值除以2.可以使用以下代码:

df.filter(regex=("d.*")).divide(2)
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试像这样更新我的数据帧,它会给出一个can't assign to function call:

df.filter(regex=("d.*")) = df.filter(regex=("d.*")).divide(2)
Run Code Online (Sandbox Code Playgroud)

如何正确更新我现有的df?

python regex pandas

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

如何使用 Pathlib 检查文件夹/文件权限

是否有 Pathlib 等价物os.access()

如果没有 Pathlib,代码将如下所示:

import os
os.access('my_folder', os.R_OK)  # check if script has read access to folder
Run Code Online (Sandbox Code Playgroud)

但是,在我的代码中,我正在处理 Pathlib 路径,因此我需要这样做(这只是一个示例):

# Python 3.5+
from pathlib import Path
import os

# get path ~/home/github if on Linux
my_folder_pathlib = Path.home() / "github"
os.access(str(my_folder_pathlib), os.R_OK)
Run Code Online (Sandbox Code Playgroud)

演员str()阵容有点丑。我想知道我想要实现的目标是否有纯 Pathlib 解决方案

ps 我知道“更容易请求宽恕”的原则,但是这是一个更大框架的一部分,我需要尽快知道脚本是否具有对 NAS 存储文件夹的正确权限。

python python-3.x pathlib

9
推荐指数
1
解决办法
2171
查看次数

Kivy正确设置了自己的图标

我有自己的图标(KO.png:512x512(也有大小48,72,96,144和192))与我的main.py在同一个文件夹中.我想在ActionPrevious(2)和加载图标(3)中将其设置为启动器图标(1 ).

1)第一步是放入main.py:

def build(self):
    self.icon = 'KO.png'
Run Code Online (Sandbox Code Playgroud)

在某些时候,这工作,但不能让它再次工作?


2)我还有一个带ActionPrevious的ActionBar.我想在这里设置自己的徽标.所以我在appname.kv中:

ActionPrevious:
    app_icon: app.icon if app.icon else ''
Run Code Online (Sandbox Code Playgroud)

这适用于Linux,但不适用于Android.在Android中,我仍然拥有Kivy徽标.此外,如果我使用512x512图标,它在Linux上很模糊.如果我使用92x92,它看起来很好.

编辑: ActionPrevious确实有效,由于buildozer.spec中的路径不正确,应用程序无法正确构建(参见3)


3)我还希望加载器图标是我自己的徽标,所以我在buildozer.spec中有以下代码:

icon.filename = KO.png
presplash.filename = KO.png
Run Code Online (Sandbox Code Playgroud)

之前有'%(source.dir)s /',但这也不起作用:

icon.filename = %(source.dir)s/KO.png
presplash.filename = %(source.dir)s/KO.png
Run Code Online (Sandbox Code Playgroud)

编辑:但是这两个路径导致buildozer 没有构建 .apk,正确的路径是什么?


  • 如何在Kivy中正确设置我自己的图标作为启动器,加载屏幕和ActionPrevious(AP正在工作,请参阅2下的编辑)),正确的icon.filename路径是什么?
  • 如何使用512x512图标在ActionPrevious中获得一个清晰的图标?(ActionItem doc:mipmap是一个BooleanProperty,默认为True.)
  • 如何使用Kivy在所有设备上运行单个512x512图标,通常他们会推荐多种尺寸?:为Android应用程序设置图标.当它非常小时,重新缩放是否有其局限性?

python icons android kivy

7
推荐指数
1
解决办法
3888
查看次数

Tensorflow不共享变量

我们修改了CIFAR-10教程(卷积神经网络),以便在Adience数据库上运行面部上的性别分类.我们在这里读到," 参数共享 "非常有用,因为无论图像中的位置如何,一个补丁功能都是有用的.除了:

请注意,有时参数共享假设可能没有意义.当ConvNet的输入图像具有某些特定的中心结构时尤其如此,例如,我们应该期望在图像的一侧应该学习完全不同的特征而不是另一侧.一个实际示例是当输入是已经在图像中居中的面部时.

目标:因此我们想关闭CNN的参数共享.

我认为CIFAR-10教程使用参数共享?并且def inference(images)函数中的这部分代码似乎必须对它做一些事情:

biases = _variable_on_cpu('biases', [64], tf.constant_initializer(0.0))
bias = tf.nn.bias_add(conv, biases)
Run Code Online (Sandbox Code Playgroud)

哪个电话:

def _variable_on_cpu(name, shape, initializer):
    with tf.device('/cpu:0'):
        var = tf.get_variable(name, shape, initializer=initializer)
    return var
Run Code Online (Sandbox Code Playgroud)

  • 参数共享确实在CIFAR-10教程怎么回事?
  • 您能否告诉我们,我们是否正在查看关闭参数共享的正确代码或其他要查看的内容?
  • 欢迎任何其他帮助/建议,因为我们不知道从哪里开始.

deep-learning tensorflow

7
推荐指数
1
解决办法
1354
查看次数

Python 3.6 pathlib 路径更改名称父目录

来自 Python 3.4的pathlib 库中的新 Path 包似乎是诸如 等方法的强大替代品os.path.join(),但我在使用它时遇到了一些麻烦。

我有一条路径可以是从folder_foo/file.csv到的任何内容long/path/to/folder_foo/file.csv。我folder_foo用 Pandas读取了 .csv 文件,修改了它并想将它保存到folder_bar/file.csvlong/path/to/folder_bar/file.csv

基本上我想在 Path 对象中重命名folder_foofolder_bar

编辑:示例路径代码

csv_path = Path("long/path/to/folder_foo/file.csv")
Run Code Online (Sandbox Code Playgroud)

尝试

1

csv_path.parents[0] = csv_path.parents[0] + "_clean")
Run Code Online (Sandbox Code Playgroud)

这会导致错误TypeError: unsupported operand type(s) for +: 'PosixPath' and 'str',这意味着您不能+将 aPosixPath与 a结合使用str,如TypeError: unsupported operand type(s) for +: 'PosixPath' 和 'str' 中所述

2

为了解决这个问题,我尝试了以下方法:

csv_path.parents[0] = Path(str(csv_path.parents[0]) + "_clean") …
Run Code Online (Sandbox Code Playgroud)

python-3.x pathlib

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

Python Kivy 将文件写入/读取到 SD 卡

通过使用 Python 和 Kivy,我想将文件写入用户手机的(虚拟)SD 卡,并在不同的函数中再次读取该文件。由于 Android、IOS 和 Windows Phone 可能具有不同的 SD 卡路径,因此使用“plyer”似乎是一个好主意。如何读/写一个文件到的/ SD卡

python android sd-card ios kivy

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

如何在SQLAlchemy中删除多个表

受到这个问题的启发:如何在 SQLAlchemy 中删除表?,我最终提出了一个问题:如何删除多个表。

假设我有 3 个表,如下所示,我想删除 2 个表(想象一下还有更多表,所以不需要手动删除表)。

表格

import sqlalchemy as sqla
import sqlalchemy.ext.declarative as sqld
import sqlalchemy.orm as sqlo

sqla_base = sqld.declarative_base()

class name(sqla_base):
    __tablename__ = 'name'
    id = sqla.Column(sqla.Integer, primary_key=True)
    name = sqla.Column(sqla.String)

class job(sqla_base):
    __tablename__ = 'job'
    id = sqla.Column(sqla.Integer, primary_key=True)
    group = sqla.Column(sqla.String)

class company(sqla_base):
    __tablename__ = 'company'
    id = sqla.Column(sqla.Integer, primary_key=True)
    company = sqla.Column(sqla.String)

engine = sqla.create_engine("sqlite:///test.db", echo=True)
sqla_base.metadata.bind = engine

# Tables I want to delete
to_delete = ['job', 'function']

# …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy

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

Python lxml解析svg文件

我正在尝试从http://kanjivg.tagaini.net/解析.svg文件,但我无法成功提取内部信息.

编辑1 :(完整档案)http://www.filedropper.com/0f9ab

部分0f9ab.svg看起来像这样:

<svg xmlns="http://www.w3.org/2000/svg" width="109" height="109" viewBox="0 0 109 109">
<g id="kvg:StrokePaths_0f9ab" style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;">
<g id="kvg:0f9ab" kvg:element="?">
    <g id="kvg:0f9ab-g1" kvg:element="?" kvg:position="top" kvg:radical="general">
        <path id="kvg:0f9ab-s1" kvg:type="?a" d="M53.26,9.38c0.99,0.99,1.12,2.09,1.12,3.12c0,0.67,0.06,8.38,0.06,13.01"/>
        <path id="kvg:0f9ab-s2" kvg:type="?a"
    </g>
</g>
</g>
Run Code Online (Sandbox Code Playgroud)

我的.py文件:

import lxml.etree as ET

svg = ET.parse('0f9ab.svg')
print(svg)  # <lxml.etree._ElementTree object at 0x7f3a2f659ec8>

# AttributeError: 'lxml.etree._ElementTree' object has no attribute 'tag'
print(svg.tag)

# TypeError: 'lxml.etree._ElementTree' object is not subscriptable
print(svg[0])

# TypeError: 'lxml.etree._ElementTree' object is not iterable
for child in …
Run Code Online (Sandbox Code Playgroud)

python svg lxml

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