小编RFT*_*xas的帖子

处理多个函数参数类型的惯用方法

我对 Rust 相当陌生,我需要一些关于如何处理 Rust 中一个参数的多种类型的指导。我什至不知道这是否可能。

我有一个函数可以进行大量计算,并且其一些指令可能会根据参数的类型而有所不同。

在 Python 中,它会这样写:

def foo(bar):
   # Do a bunch of computations
   if isinstance(bar, TYPE_A):
       # Do this
   elif isinstance(bar, TYPE_B):
       # Do that
Run Code Online (Sandbox Code Playgroud)

我什至不知道这在 Rust 中是否可行,甚至不推荐。函数体相当大,并且使用match函数体内的语句来处理这种基于类型的条件似乎比使用两个支持两种不同类型的非常相似的函数更干净。

我不是在这里寻找泛型。实际上,就我而言,Type_A是一个 Rustndarray实例,并且TYPE_B是一个自定义struct.

rust

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

如何确定由 Keras 上的卷积神经网络预测的二元类?

我正在构建一个 CNN 来对 Keras 进行情感分析。一切正常,模型经过训练,可以投入生产。

但是,当我尝试使用该方法预测新的未标记数据时,model.predict()它只输出相关的概率。我尝试使用该方法,np.argmax()但它总是输出 0,即使它应该是 1(在测试集上,我的模型达到了 80% 的准确度)。

这是我预处理数据的代码:

# Pre-processing data
x = df[df.Sentiment != 3].Headlines
y = df[df.Sentiment != 3].Sentiment

# Splitting training, validation, testing dataset
x_train, x_validation_and_test, y_train, y_validation_and_test = train_test_split(x, y, test_size=.3,
                                                                                      random_state=SEED)
x_validation, x_test, y_validation, y_test = train_test_split(x_validation_and_test, y_validation_and_test,
                                                                  test_size=.5, random_state=SEED)

tokenizer = Tokenizer(num_words=NUM_WORDS)
tokenizer.fit_on_texts(x_train)

sequences = tokenizer.texts_to_sequences(x_train)
x_train_seq = pad_sequences(sequences, maxlen=MAXLEN)

sequences_val = tokenizer.texts_to_sequences(x_validation)
x_val_seq = pad_sequences(sequences_val, maxlen=MAXLEN)

sequences_test = tokenizer.texts_to_sequences(x_test)
x_test_seq = pad_sequences(sequences_test, maxlen=MAXLEN)
Run Code Online (Sandbox Code Playgroud)

这是我的模型: …

python machine-learning text-classification deep-learning keras

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

什么是最有效的:对 ArrayBase 或 ArrayView 的引用?

我正在改进使用ndarraycrate 来操作数组的 Rust 代码库。我有一个问题,我在文档中找不到明确的答案。

ArrayView将 的实例作为参数传递给函数是否更有效,或者我应该使用对 an 的引用Array来代替?我的直觉是,由于ArrayView是数组的视图,因此在进行计算时,它仅传递数组的视图,并且不授予函数所有权(因此不复制)底层数据。

简而言之,从传递 的实例切换ArrayView到传递 的引用是否会带来任何速度增益Array

我的目标是避免无用的内存分配/重复,这在处理大型数组时可能会非常昂贵。

rust rust-ndarray

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