小编kri*_*nab的帖子

如何在 Rust 中访问代数矩阵的各个元素?

我试图访问 Rust 中的 nalgebra 矩阵的各个元素,但不断收到错误。我在文档中没有找到任何示例来说明如何像使用某些多维数组一样访问 \xe2\x80\x94 各个元素。

\n\n

这是我一直在尝试的:

\n\n
use nalgebra::DMatrix; // 0.21.0\n\nfn main() {\n    let b = DMatrix::<f64>::zeros(4, 4);\n    println!("{:?}", b[0][1]);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我编译这段代码时,我得到

\n\n
use nalgebra::DMatrix; // 0.21.0\n\nfn main() {\n    let b = DMatrix::<f64>::zeros(4, 4);\n    println!("{:?}", b[0][1]);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不知道如何解释这个消息,或者我哪里出错了。

\n

linear-algebra rust

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

Google Earth Engine Python API的解决方法,并且不支持Python 3中的"ee.mapclient"

所以我正在使用Google Earth Engine并在他们的回购中处理一些示例代码.我使用的是Python 3.6.看起来谷歌不再支持Python 3中的映射功能ee.mapclient()了.我想知道是否有人找到了合适的解决方法?让我概述一下这个问题.

我试图加载ee.mapclient绘制地图.

import ee
import ee.mapclient
ee.Initialize()
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误:

ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-13-6d4860410653> in <module>()
      1 import ee
----> 2 import ee.mapclient
      3 ee.Initialize()

/media/krishnab/lakshmi/anaconda3/envs/pMining/lib/python3.6/site-packages/ee/mapclient.py in <module>()
     29 
     30 import collections
---> 31 import cStringIO
     32 import functools
     33 import math

ModuleNotFoundError: No module named 'cStringIO'
Run Code Online (Sandbox Code Playgroud)

cStringIO问题是很容易解决按: 蟒蛇3.4.0电子邮件软件包安装:导入错误:没有模块名为"cStringIO"

所以我在Google Earth Engine Repo上发布了一个问题,但发现了一个先前存在的问题:

https://github.com/google/earthengine-api/issues/16

在该问题中,开发人员承认该问题,但表示由于底层Tk包的限制,他们不会修复它.

以下是该问题的引用:

我们没有积极维护mapclient对象,因为它依赖于Tk,一个图形用户界面工具包,它在不同的机器上表现不同.你能描述一下需要mapclient的用例吗?我们或许可以提出另一种方法.

谷歌开发者提出了提交解决方法,但到目前为止还没有发布任何解决方法.

因此,我想知道是否有其他人在Python3.6中找到了适合此问题的解决方法?

通过一个真实的代码示例,我可以从Google示例回购中提供以下代码:

import datetime
import ee
import ee.mapclient

ee.Initialize() …
Run Code Online (Sandbox Code Playgroud)

python gis python-3.x google-earth-engine

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

从`figure()`函数的外部设置python`flow`情节图的标题

bokeh在python中使用绘图包时遇到了一个非常简单的问题.

我想从通常的图形构造函数外部设置散景图的标题,但是我得到一个奇怪的错误.

这是代码.

from bokeh.plotting import figure
p = figure()
p.title = 'new title'
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试此代码时,我收到一条错误消息:

ValueError: expected an instance of type Title, got new plot of type str

因此,我似乎需要创建一个Title对象或其他东西传递给图.但是在散景文档中没有提到如何设置标题.仅提及如何更改标题字体或标题颜色等.

有没有人知道如何从通常的外部设置情节的标题 figure(title='new title')

python bokeh

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

Julialang:在抽象类型上强制执行接口

我一直在尝试理解类型系统,Julialang但某些设计方面仍然让我感到困惑。我希望有人能够澄清。

所以这里的问题是关于抽象类型及其具体实现。据我了解 Julia,抽象类型不会对其具体实现施加任何限制。因此,不能保证适用于抽象类型的方法也适用于该类型的具体实现。

我知道 Julia 不使用类或遵循继承。但我只是想避免在我的代码中产生各种错误。如果有不同的设计范式,那么有人可以回答下面的问题2。

所以我有两个问题。

  1. 这仍然是语言的工作方式吗?只是为了确认自博客发布以来没有任何变化。

  2. 用户如何围绕这个看似存在的漏洞设计他们的软件?

链接帖子中的问题示例:

abstract type AbstractPerson end
abstract type AbstractStudent <: AbstractPerson end
abstract type AbstractTeacher <: AbstractPerson end

struct Person <: AbstractPerson
  name::String    
end

struct Student <: AbstractStudent
  name::String  
  grade::Int
  hobby::String
end

struct MusicStudent <: AbstractStudent
  grade::Int
end
Run Code Online (Sandbox Code Playgroud)

现在,如果我在抽象类型上创建一些方法。

get_name(x::AbstractPerson) = x.name
p1 = Person("elroy")
get_name(p1)

>"elroy"
Run Code Online (Sandbox Code Playgroud)

因此,即使MusicStudent是 的子类型AbstractPerson,它MusicStudent也没有name属性。这意味着观察到以下行为。

m1 = MusicStudent(10)
get_name(m1)


ERROR: type MusicStudent has no field name …
Run Code Online (Sandbox Code Playgroud)

julia

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

Tensorflow Transform:如何在整个数据集上找到变量的均值

我经常在许多 Tensorflow教程中看到这样的文字:

要进行此计算,您需要列均值。您显然需要在现实生活中计算这些,但在本示例中,我们将只提供它们。

对于中小型 CSV 数据集,计算平均值就像pandas在数据帧上使用方法或使用 `scikit-learn 一样简单

但是,如果我们有大型数据集,比如说一个 50GB 的 CSV 文件,那么你如何计算平均值或其他类似的统计数据。Tensorflow Transform声称它可以计算全局汇总统计数据,但他们并没有真正解释它是如何工作的或如何将其集成到工作流中。

这是他们的入门指南中的代码示例。

import tensorflow as tf
import tensorflow_transform as tft

def preprocessing_fn(inputs):
  x = inputs['x']
  y = inputs['y']
  s = inputs['s']
  x_centered = x - tft.mean(x)
  y_normalized = tft.scale_to_0_1(y)
  s_integerized = tft.compute_and_apply_vocabulary(s)
  x_centered_times_y_normalized = x_centered * y_normalized
  return {
      'x_centered': x_centered,
      'y_normalized': y_normalized,
      'x_centered_times_y_normalized': x_centered_times_y_normalized,
      's_integerized': s_integerized
  }
Run Code Online (Sandbox Code Playgroud)

文档说这段代码将tft.mean(x)在整个数据集上运行,但不清楚这将如何发生,因为x仅限于批处理的范围?然而,这是文档中的声明。

虽然在上面的例子中并不明显,但用户定义的预处理函数被传递代表批次而不是单个实例的张量,就像在训练和使用 TensorFlow 服务期间发生的那样。另一方面,分析器对整个数据集执行计算,返回单个值而不是一批值。x 是形状为 (batch_size,) 的张量,而 …

python tensorflow

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

Tensorflow:计算 TFRecord 文件中示例的数量——不使用已弃用的 `tf.python_io.tf_record_iterator`

请在标记重复之前阅读帖子

我一直在寻找一种有效的方法来计算 TFRecord 图像文件中的示例数量。由于 TFRecord 文件不保存有关文件本身的任何元数据,因此用户必须遍历文件才能计算此信息。

StackOverflow 上有几个不同的问题可以回答这个问题。问题是他们似乎都使用了 DEPRECATEDtf.python_io.tf_record_iterator命令,所以这不是一个稳定的解决方案。以下是现有帖子的示例:

从 Tensorflow 中的 .tfrecords 文件获取记录总数

每个 tfrecord 中的示例数

每个 tfrecord 中的示例数

所以我想知道是否有一种方法可以使用新的 Dataset API 来计算记录数。

tensorflow tfrecord

6
推荐指数
1
解决办法
2581
查看次数

反序列化消息而不将整个文件加载到内存中?

我正在使用 Google Protocol Buffers 和 Python 来解码一些大数据文件——每个文件 200MB。我下面有一些代码展示了如何解码分隔流,它工作得很好。然而,它使用read()将整个文件加载到内存中然后迭代它的命令。

import feed_pb2 as sfeed
import sys
from google.protobuf.internal.encoder import _VarintBytes
from google.protobuf.internal.decoder import _DecodeVarint32

with open('/home/working/data/feed.pb', 'rb') as f:
    buf = f.read() ## PROBLEM-LOADS ENTIRE FILE TO MEMORY.
    n = 0
    while n < len(buf):
        msg_len, new_pos = _DecodeVarint32(buf, n)
        n = new_pos
        msg_buf = buf[n:n+msg_len]
        n += msg_len
        read_row = sfeed.standard_feed()
        read_row.ParseFromString(msg_buf)
        # do something with read_metric
        print(read_row)
Run Code Online (Sandbox Code Playgroud)

请注意,此代码来自另一篇 SO 帖子,但我不记得确切的网址。我想知道是否有readlines()协议缓冲区的等效项允许我一次读取一条分隔消息并对其进行解码?我基本上想要一个不受 RAM 限制的管道,我必须加载文件。

似乎有一个pystream-protobuf包支持其中一些功能,但它已经有一两年没有更新了。7年前的帖子也问过类似的问题。但我想知道从那以后是否有任何新信息。

从流中读取多个 …

python protocol-buffers

6
推荐指数
1
解决办法
1617
查看次数

如何从 Google Earth Engine 获取图像集的下载网址

我对 Google Earth Engine 还比较陌生,但有一个关于获取图像集合中每个图像的下载 URL 的问题。问题正是如此,鉴于我已将每个图像削减到合理的大小,如何获取图像集合中每个图像的下载 url 集。

请注意,我确实浏览了 Stackoverflow,发现了一个有关将单个图像下载到 google Drive 的现有问题,但该问题没有提供有关图像集合的任何信息。

如何使用Google Earth引擎的Python API下载图像

以下代码将生成 Landsat 8 图像的一些小图像块。每个补丁的大小只有少数 kb。

import ee
ee.Initialize()
col = ee.ImageCollection('LANDSAT/LC08/C01/T1').select('B8')
col.filterDate('1/1/2015', '1/30/2015')
boundary_region = ee.Geometry.Point([-2.40986111110000012, 26.76033333330000019]).buffer(300)
col.filterBounds(boundary_region)

def clipper(image):
    return image.clip(region)

col.map(clipper)
Run Code Online (Sandbox Code Playgroud)

现在我想下载集合中的每张图像col

Earth Engine 提供了几种迭代图像集合的方法:map()iterate()函数,但显然这两个函数都不适用于下载函数。

现在看来我可以使用以下函数生成单个图像的 url:

boundary_geojson = ee.Geometry.Polygon(boundary_region.bounds().getInfo().coordinates[0]).toGeoJSONString()

def downloader(image): 
    url = ee.data.makeDownloadUrl(
        ee.data.getDownloadId({
            'image': image.serialize(),
            'scale': 30,
            'filePerBand': 'false',
            'name': 'test',
            'region': boundary_geojson,
        }))
    return url
Run Code Online (Sandbox Code Playgroud)

请注意,由于某种原因,我似乎无法让变量boundary_geojson正常工作。

现在这组 url 应该是一个简单的调用 …

python image google-earth-engine

5
推荐指数
0
解决办法
2119
查看次数

Tensorflow:在使用 tf.Keras 层或 tf.Estimator API 时,我什么时候需要运行 tf.Session()?

我正在尝试协调来自 TF“Graphs and Sessions”指南和 TF“Keras”指南和 TF Estimators 指南的信息。现在在前者中它说 tf.Session 使计算图可以访问物理硬件以执行图并训练模型。就像学习 TF 的初始教程要求您使用 Session 来运行任何东西:变量指南、张量指南等。但是,在 TF Keras 指南中,示例似乎在没有任何显式调用tf.Session或通常with tf.Session() as sess:的情况下运行Keras 模型也没有使用 Eager Execution。Estimators API 也是如此。

我有几个代码示例。其中一些使用对会话的调用,而另一些则不使用。我希望有人能澄清使用tf.SessionKeras 层或估算器的要求规则是什么。我的意思是,您似乎可以run_configs为 keras 估算器或标准 TF.estimator 进行设置,并为多 GPU 等进行设置。

以下是功能 API 的 TF Keras 指南中的示例。请注意,没有调用会话:

inputs = tf.keras.Input(shape=(32,))  # Returns a placeholder tensor

# A layer instance is callable on a tensor, and returns a tensor.
x = layers.Dense(64, activation='relu')(inputs)
x = layers.Dense(64, activation='relu')(x)
predictions = layers.Dense(10, activation='softmax')(x) …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow

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

Tensorflow:有没有办法将元数据保存在 TFRecords 文件中

有没有办法在文件创建时将数据集元数据保存在 Tensorflow TFRecords 文件中?

我一直在看新Tensorflow Datasets包装,它真的很不错。他们做了很多很好的工作来简化将标准数据集放入 tensorflow 训练管道的过程。

这个工具的一个很好的特性是它保存了关于数据集的元数据,例如数据集中的示例数量,或训练和测试拆分中的样本等。该DatasetInfo()对象将在内存中保存数据集的元数据。这是从该包的 github 存储库中获取的示例:

    tfds.core.DatasetInfo(
        name='mnist',
        version=1.0.0,
        description='The MNIST database of handwritten digits.',
        urls=[u'http://yann.lecun.com/exdb/mnist/'],
        features=FeaturesDict({
            'image': Image(shape=(28, 28, 1), dtype=tf.uint8),
            'label': ClassLabel(shape=(), dtype=tf.int64, num_classes=10)
        },
        total_num_examples=70000,
        splits={
            u'test': <tfds.core.SplitInfo num_examples=10000>,
            u'train': <tfds.core.SplitInfo num_examples=60000>
        },
        supervised_keys=(u'image', u'label'),
        citation='"""
            @article{lecun2010mnist,
              title={MNIST handwritten digit database},
              author={LeCun, Yann and Cortes, Corinna and Burges, CJ},
              journal={ATT Labs [Online]. Available: http://yann. lecun. com/exdb/mnist},
              volume={2},
              year={2010}
            }
      """',
  )
Run Code Online (Sandbox Code Playgroud)

现在,如果您查看此对象,您会发现它包含 aFeaturesDict和其他对象,当将 TFRecords 文件摄取到 Tensorflow …

python tensorflow

5
推荐指数
0
解决办法
848
查看次数