小编Geo*_*ing的帖子

在TensorFlow中,Session.run()和Tensor.eval()之间有什么区别?

TensorFlow有两种方法来评估图的一部分:Session.run在变量列表和Tensor.eval.这两者有区别吗?

python tensorflow

195
推荐指数
2
解决办法
10万
查看次数

gcc如何在Linux上实现堆栈展开C++异常?

gcc如何在Linux上实现堆栈展开C++异常?特别是,它如何知道在展开帧时要调用哪些析构函数(即,存储什么类型的信息以及存储在何处)?

c++ gcc exception

18
推荐指数
1
解决办法
6118
查看次数

在Mac OS X Intel上启用浮点中断

在Linux上,feenableexcept和fedisableexcept可用于控制浮点异常上SIGFPE中断的生成.如何在Mac OS X Intel上执行此操作?

用于启用浮点中断的内联汇编在http://developer.apple.com/documentation/Performance/Conceptual/Mac_OSX_Numerics/Mac_OSX_Numerics.pdf,第7-15页中提供,但仅适用于PowerPC汇编.

macos intel interrupt floating-point-exceptions

18
推荐指数
2
解决办法
4832
查看次数

Java规范在哪里说List <T>分配给List <?超级T>?

假设类B继承自类A.以下是合法的Java:

List<A> x;
List<? super B> y = x;
Run Code Online (Sandbox Code Playgroud)

就规范而言,这意味着List<A>assignsTo List<? super B>.但是,我无法找到说这是合法的规范部分.特别是,我认为我们应该有子类型关系

List<A>  <:  List<? super B>
Run Code Online (Sandbox Code Playgroud)

但是Java 8规范的4.10节将子类型关系S >1 T定义为直接超类型关系的传递闭包,并且它根据计算一组超类型的有限函数来定义直接超类型关系T.由于可能存在任意数量的s继承,因此输入List<A>可以产生无限制函数,因此spec的子类型定义似乎为超级通配符分解.关于"类和接口类型之间的子类型"的第4.10.2节确实提到了通配符,但它只处理通配符出现在潜在子类型中的另一个方向(此方向适合计算的直接超类型机制).List<? super B>BA

问题:规范的哪一部分说上面的代码是合法的?

动机是针对编译器代码的,因此仅仅理解它为何直观合法或者提出一种处理它的算法是不够的.由于Java中的一般子类型问题是不可判定的,我想处理与规范完全相同的情况,因此需要处理此案例的规范部分.

java generics subtyping bounded-wildcard

16
推荐指数
1
解决办法
249
查看次数

通过C转换访问结构的第一个字段是否违反了严格的别名?

此代码是否违反严格别名?

struct {int x;} a;
*(int*)&a = 3
Run Code Online (Sandbox Code Playgroud)

更抽象的是,只要原始读/写操作类型正确,在不同类型之间进行转换是否合法?

c c++ strict-aliasing language-lawyer reinterpret-cast

15
推荐指数
1
解决办法
1666
查看次数

为什么这个重载/命名空间/模板相关的C++代码没有编译?

这是一些C++代码:

namespace A {

int f(int x) { return 0; }
int f(long x) { return 1; }

template<class T> int g(T x) {
  return f(x);
}

}

namespace B {
struct C {};
}

namespace A {
int f(B::C x) { return 2; }
}

void h() {
  A::g(B::C());
}
Run Code Online (Sandbox Code Playgroud)

在命名空间A中,代码声明函数f的一些重载,以及调用f的模板化函数g.然后我们在命名空间B中声明一个新类型,并在命名空间A中为新类型重载f .用g ++ 4.2编译给出

order.cpp: In function ‘int A::g(T) [with T = B::C]’:
order.cpp:21:   instantiated from here
order.cpp:7: error: no matching function for call to ‘f(B::C&)’
order.cpp:3: …
Run Code Online (Sandbox Code Playgroud)

c++ templates overloading namespaces

12
推荐指数
1
解决办法
1993
查看次数

在MSVC上从__m128逐位转换为__m128i

在Linux和Mac上,人们可以做到

__m128 x;
__m128i n = (__m128i)x;
Run Code Online (Sandbox Code Playgroud)

此操作将x的位表示复制到n,并且对于实现在SSE浮点寄存器上操作的各种无分支条件操作很有用.在MSVC 11上,它给出了

eikonal-generated.h(1228) : error C2440: 'type cast' : cannot convert from '__m128' to '__m128i'; No constructor could take the source type, or constructor overload resolution was ambiguous
Run Code Online (Sandbox Code Playgroud)

Microsoft Visual Studio中的等价物是什么?

请注意,我不是要求标准的float-to-int转换函数_mm_cvtepi32_ps,它具有数字上有意义的转换.

sse visual-studio

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

带有隐藏可见性的C++模板参数问题

我正在使用-fvisibility = hidden在gcc下编译以下代码:

template<class T> struct /*__attribute__ ((visibility("default")))*/ A {};

template<class T> struct B
{
    B() __attribute__ ((visibility("default")));
};

template<class T> B<T>::B() {}

template class B<int>;
template class B<A<int> >;
Run Code Online (Sandbox Code Playgroud)

如果我通过nm |运行生成的目标文件 grep B,我明白了

000000000002b97c t B<A<int> >::B()
000000000002b972 t B<A<int> >::B()
000000000002b968 T B<int>::B()
000000000002b95e T B<int>::B()
Run Code Online (Sandbox Code Playgroud)

即,B<int>可见但是B<A<int> >看不见. B<A<int> >如果我将片段标记取消注释为可见,则变为A<T>可见.但是,我不想将所有A标记为可见,因为在实际代码中A<T>包含大量应该保持私有的方法.

为什么能见度A<T>会影响能见度B<A<T> >B<A<T> >如果没有全部A<T>可见,我可以看到吗?

c++ gcc templates visibility symbols

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

将浮点异常转换为C++异常

是否有可能在x86 Linux上将浮点异常(信号)转换为C++异常?

这是出于调试目的,因此非可移植性和不完美性是可以的(例如,如果不能100%保证所有析构函数都被调用).

c++ floating-point signals exception

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

防止 Jupyter 笔记本中的单元保存到磁盘

我有一个 Jupyter Python 笔记本,其中一个特定单元具有非常大的视觉输出(数兆字节的 Javascript,包括嵌入数据)。有没有办法标记单元格,以便输出不保存到文件中.ipynb

jupyter jupyter-notebook

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