标签: inference

为什么C#不对泛型做"简单"类推理?

只是好奇:当然,我们都知道泛型类型推断的一般情况是不可判定的.所以C#根本不做任何类型的子类型:如果Foo <T>是泛型的,Foo <int>不是Foo <T>的子类型,或Foo <Object>或其他任何你可能的类型做饭.当然,我们都用丑陋的界面或抽象类定义来解决这个问题.

但是......如果你无法解决一般性问题,为什么不将解决方案限制在容易的情况下.例如,在上面的列表中,显然Foo <int>Foo <T>的子类型,并且检查它是微不足道的.检查Foo <Object>是一样的.

如果他们只是说,那么还有其他一些深深的恐怖会从深渊蔓延出来,我们会尽我们所能吗?或者这只是微软语言人员的某种宗教纯洁?


更新:

这是一个非常古老的线程.这些天,C#有var,它解决了我抱怨的一半,然后使用Linq风格的匿名代表,有一个很好的表示法,不需要输入两次相同的东西.因此,我反对的每一个方面都已经通过最近对C#的更改得到了解决(或者我只是花了一些时间来了解我刚发布帖子时刚刚介绍的内容......)我使用这些新内容现在在Isis2系统中可靠的云计算功能(isis2.codeplex.com),我认为该库具有非常干净的外观和感觉.看看它,让我知道你的想法). - Ken Birman(2014年7月)

c# generics types inference covariance

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

C#Linq to Entities:join子句中某个表达式的类型不正确.类型推断失败

我正在尝试使用C#linq连接两个表到实体.

一个表有客户端,另一个表有许可证.这些表由Client_ID和ClientLicence_ClientID连接.由于某种原因(它们不是我的表),Client_ID是一个i​​nt,而ClientLicence_ClientID是一个字符串.

我的代码是:

var licences = (from client in entities.Clients
                            join licence in entities.ClientLicences
                            on new { clientId = SqlFunctions.StringConvert((double)client.Client_ID) } equals
                            new { licence.ClientLicence_ClientID }
                            into clientGroup
                            where (filter.clientId == 0 || client.Client_ID == filter.clientId)
                            select licence);
Run Code Online (Sandbox Code Playgroud)

当我尝试编译它时,我得到一个错误:join子句中的一个表达式的类型是不正确的.在对"GroupJoin"的调用中类型推断失败.

如果我注释掉where语句那么它可以工作(尽管没有过滤结果).

filter变量是传递给函数的类.它只有一个属性:int clientId.

c# linq inference join where

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

PyMC观察到随机变量之和的数据

我试图用PyMC推断模型参数.特别地,观察到的数据被建模为两个不同随机变量的总和:负二项式和泊松.

在PyMC中,随机变量的代数组合由"确定性"对象描述.是否可以将观察到的数据分配给此确定性对象?

如果不可能,我们仍然知道总和的PDF是组件的PDF的卷积.有效地计算这个卷积有什么技巧吗?

python inference model mcmc pymc

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

输入泛型推断类型数组

我正在尝试创建对象数组的类型。该对象的第一个和第二个键需要匹配。例如:

[{ 
  key1: "hi",
  key2: "world"
},{
  key1: 1,
  key2: 2
},{
  key1: true,
  key2: false
}]
Run Code Online (Sandbox Code Playgroud)

这是我想出来的,但它并不完全有效。我有一个通用类型来定义数组中的对象。当调用它生成数组类型时,会引发错误。

type ArrayItem<T> = {
  key1: T,
  key2: T
}

// This raises an error Generic Type ArrayItem requires 1 type argument
type Array = ArrayItem<T>[]
Run Code Online (Sandbox Code Playgroud)

输入这样的嵌套对象(具有类型推断支持)的最佳方法是什么?

generics nested inference type-inference typescript

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

使用 Python Enum 或 Dictionary 映射常量并通过推理保持 DRY 的最佳方法

我刚刚开始使用 Python 进行服务器端编程(来自 TypeScript),而.valueEnum 键入的冗长让我考虑根本不使用它。

在 TypeScript 中,枚举的值是这样检索的。

enum CompassDirection {
  North = "North",
}

// I do not have to ask for the value
const isEqual = CompassDirection.North === "North" ? true : false

console.log(isEqual) // returns true 
Run Code Online (Sandbox Code Playgroud)

但在Python中,我相信检索值的唯一方法是.value像这样使用..

from enum import Enum

class CompassDirection(Enum):
    NORTH = 'NORTH'

isEqual = CompassDirection.NORTH == 'NORTH'
print(isEqual) // false

isEqual = CompassDirection.NORTH.value == 'NORTH'
print(isEqual) // true
Run Code Online (Sandbox Code Playgroud)

我使用 Enum 的目的是为了进行推理,因此我不必在代码中重复键入诸如“NORTH”之类的字符串。

如果我创建了一个函数,我也必须在任何地方调用它 -例如


def get_enum_value(enum): 
   return enum.value

# …
Run Code Online (Sandbox Code Playgroud)

python enums inference constants dry

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

为什么C编译器不能进行类型推断?

在 的情况下long double x = 8.99999999999999999,该值将存储为,double因为未附加“L”。x当我已经将变量声明为long doublefloat 类型时,为什么 C 编译器不能进行类型推断?

c types inference

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

OWL:如何从超类中继承两个类之间的属性关系?

假设我们有两个名为People和 的类Disease。这些类通过对象属性相关has

:People :has :Disease
Run Code Online (Sandbox Code Playgroud)

People有子类(或个体)John,并且Disease有子类(或个体)Cancer

:John a :People
:Cancer a :Disease
Run Code Online (Sandbox Code Playgroud)

如何通过推理得到这些子类之间的关系呢?

:John :has :Cancer
Run Code Online (Sandbox Code Playgroud)

inference owl protege reasoning object-property

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

Tensorflow - 推理时间评估

我正在使用 Tensorflow 评估不同的图像分类模型,特别是使用不同设备的推理时间。我想知道是否必须使用预训练模型。我使用一个脚本生成 1000 个随机输入图像,将它们一一输入到网络,并计算平均推理时间。

谢谢 !

evaluation inference tensorflow

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

Dart 编译器能够推断 const 构造函数的用法吗?

我认为 dart 会使用const构造函数,如果它能够自动执行的话,为了解释这个假设,让我们假设我们有一个已经有const constructor类似的小部件:

class Retry extends StatelessWidget {
  const Retry();
}
Run Code Online (Sandbox Code Playgroud)

然后因为 dart“能够推断 const 用法”,接下来的两个代码将意味着并被编译成相同的代码:

1.

Container(
   child: Retry()
)
Run Code Online (Sandbox Code Playgroud)
Container(
   child: const Retry()
)
Run Code Online (Sandbox Code Playgroud)

这是假设 dart 可以推断他必须使用const声明了该选项的类的构造函数吗?或者不是?我如何证实它?

inference constants compiler-optimization dart flutter

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

NVIDIA Triton 与 TorchServe 的 SageMaker 推理对比

NVIDIA Triton \xc2\xa0vs\xc2\xa0 TorchServe \xc2\xa0 用于 SageMaker 推理?什么时候推荐每个?

\n

两者都是现代的生产级推理服务器。TorchServe 是 PyTorch 模型的 DLC 默认推理服务器。SageMaker 上的 PyTorch 推理还支持 Triton。

\n

有人有两者的良好比较矩阵吗?

\n

inference amazon-sagemaker tritonserver torchserve

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