小编Muh*_*han的帖子

sklearn KMeans 不起作用,因为我只得到“NoneType”对象在非空数组上没有属性“split”

我不知道出了什么问题,但突然KMeans不再sklearn工作了,我不知道我做错了什么。有没有人遇到过这个问题或者知道我该如何解决它?

from sklearn.cluster import KMeans

kmeanModel = KMeans(n_clusters=k, random_state=0)
kmeanModel.fit(allLocations)
Run Code Online (Sandbox Code Playgroud)

allLocations看起来像这样:

array([[12.40236   , 51.38086   ],
       [12.40999   , 51.38494   ],
       [12.40599   , 51.37284   ],
       [12.28692   , 51.32039   ],
       [12.41349   , 51.34443   ], ...])
Run Code Online (Sandbox Code Playgroud)

allLocations.dtype给出dtype('float64').

scikit-learn 版本是 1.0.2,NumPy 版本是 1.22.2,我使用的是 Jupyter Notebook。

错误说:

'NoneType' object has no attribute 'split'

整个错误看起来像这样:

AttributeError                            Traceback (most recent call last)
<ipython-input-30-db8e8220c8b9> in <module>
     12 for k in K:
     13     kmeanModel = KMeans(n_clusters=k, random_state=0)
---> 14     kmeanModel.fit(allLocations)
     15 …
Run Code Online (Sandbox Code Playgroud)

python numpy scikit-learn jupyter-notebook

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

FreeType 中的 RGB 像素格式

我无法理解像素在 FreeType 下的存储方式,我的问题的核心部分是如何在渲染字形后提取 RGB 值。

typedef uint32_t Tindex;
//
FT_Render_Glyph(face->glyph, FT_RENDER_MODE_LCD);
//
FT_Bitmap bitmap = face->glyph->bitmap;
FT_Glyph_Metrics metrics = face->glyph->metrics;
//
Tindex colStartPos = metrics.horiBearingX >> 6;
Tindex rowStartPos = metrics.horiBearingY >> 6;
//
for (Tindex y = 0; y < bitmap.rows; y = y + 3)
{
    Tindex row = rowStartPos + y;
    for (Tindex x = 0; x < bitmap.width; x = x + 3)
    {
        Tindex col = colStartPos + x;
        uint8_t r = bitmap.buffer[y * bitmap.width …
Run Code Online (Sandbox Code Playgroud)

c++ freetype

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

使用python打开.mat(matlab数据)

我尝试从 Python 导入并读取 .mat 文件。我尝试过两种方法但没有成功。

方法一(Python):

import scipy.io as sio    
mat = sio.loadmat('path/tmpPBworkspace.mat')
Run Code Online (Sandbox Code Playgroud)

我收到类似以下内容的消息:

{'None': MatlabOpaque([ (b'rateQualityOutTrim', b'MCOS', b'dataset', array([[3707764736],
        [         2],
        [         1],
        [         1],
        [         1],
        [         1]], dtype=uint32))],
              dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')]),
 '__function_workspace__': array([[ 0,  1, 73, ...,  0,  0,  0]], dtype=uint8),
 '__globals__': [],
 '__header__': b'MATLAB 5.0 MAT-file, Platform: GLNXA64, Created on: Thu May 10 07:11:52 2018',
 '__version__': '1.0'}
Run Code Online (Sandbox Code Playgroud)

我不确定那里出了什么问题?我希望看到一个数据框。另外要补充的是,在方法 1 中,我已将 .mat 保存为与 SciPy 兼容的版本。

在Matlab中:

{'None': MatlabOpaque([ (b'rateQualityOutTrim', b'MCOS', b'dataset', array([[3707764736], …
Run Code Online (Sandbox Code Playgroud)

numpy scipy dataframe python-3.x pandas

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

Rails 7 网络协议和 io-wait 依赖关系

我正在尝试在 Ruby 3.0.2 和 Rails 7.0.1 中部署一个 web 应用程序,在使用 nginx(1.18.0) 和乘客(6.0.12) 的生产服务器 Ubuntu 20.04 中通过 capistrano 部署它后遇到问题。

所有流程都工作正常,但应用程序无法在生产环境中启动。我收到乘客错误页面。在日志中查找我收到下一个错误:

“错误:应用程序遇到以下错误:您已经激活了 io-wait 0.1.0,但您的 Gemfile 需要 io-wait 0.2.1。由于 io-wait 是默认 gem,您可以删除对它的依赖,或者尝试更新到支持 io-wait 作为默认 gem 的较新版本的捆绑程序”

我尝试删除 gem io-wait 但它是默认的系统 gem,我无法删除它,我已将捆绑程序升级到最新版本(2.3.4),但错误仍然存​​在。我添加了最新的 io-wait 版本(0.2.1)并得到了相同的错误。

欢迎任何帮助。

ruby ruby-on-rails-7

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

ValueError:行数必须是正整数,而不是 3.0

我有这个代码:

\n
import numpy as np\nfrom scipy import stats\nfrom matplotlib import pyplot as plt\n\nif __name__ == "__main__":\n    # Create a list of the number of coin tosses ("Bernoulli trials")\n    number_of_trials = [0, 2, 10, 20, 50, 500]\n    # Conduct 500 coin tosses and output into a list of 0s and 1s\n    # where 0 represents a tail and 1 represents a head\n    data = stats.bernoulli.rvs(0.5, size=number_of_trials[-1])\n    # Discretise the x-axis into 100 separate plotting points\n    x = np.linspace(0, 1, 100)\n …
Run Code Online (Sandbox Code Playgroud)

python statistics matplotlib scipy

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

std::vector.data() 在指针向量上是否以 null 终止?

我在我的 C++ 应用程序中使用 C 库。其中一项功能需要一个null-terminated array of pointers.

由于我使用的是 C++,因此我将数组的元素存储在std::vector.

data()我想知道简单地调用我的向量并将结果传递给库函数是否安全。

示例:

std::vector<struct A *> vec;

//library_function(struct A **array);
library_function(vec.data());
Run Code Online (Sandbox Code Playgroud)

当然,如果我更改向量中的元素,则返回的指针data()将无效,但这不是这里的问题(我可以在更新向量时再次调用该函数)。

我只是担心这可能是未定义的行为,因为我看不到任何提到的data()由空指针而不是随机垃圾终止的地方。

标准确实说:

const T* data() const noexcept;

Returns pointer to the underlying array serving as element storage.
The pointer is such that range [data(); data() + size()) is always a valid range
Run Code Online (Sandbox Code Playgroud)

因此存在一个终止元素,但它没有说明该元素是否已初始化以及如果已初始化,则具有什么值。

是否在其他地方指定了我错过的?
或者我是否必须自己分配一个原始数组并以 null 终止它?

c++ std stdvector undefined-behavior

0
推荐指数
1
解决办法
728
查看次数