小编ber*_*ers的帖子

渴望执行功能的输入不能是Keras符号张量

我正在尝试在tf.Keras(TensorFlow 2.0.0rc0)中为稀疏注释数据的3-D U-Net 实现依赖于样本和像素的依赖损失加权(Cicek 2016,arxiv:1606.06650)。

这是我的代码:

import numpy as np
import tensorflow as tf
from tensorflow.keras import layers, losses, models

# disabling eager execution makes this example work:
# tf.python.framework_ops.disable_eager_execution()


def get_loss_fcn(w):
    def loss_fcn(y_true, y_pred):
        loss = w * losses.mse(y_true, y_pred)
        return loss
    return loss_fcn


data_x = np.random.rand(5, 4, 1)
data_w = np.random.rand(5, 4)
data_y = np.random.rand(5, 4, 1)

x = layers.Input([4, 1])
w = layers.Input([4])
y = layers.Activation('tanh')(x)
model = models.Model(inputs=[x, w], outputs=y)
loss = get_loss_fcn(model.input[1])

# …
Run Code Online (Sandbox Code Playgroud)

python deep-learning keras tensorflow eager-execution

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

如何耦合两个变量的生命周期?

以下代码编译并运行良好,但未按预期工作(比较代码中的注释)。我相信原因是 的生命周期is以 结束getFileIter,因此流缓冲区迭代器没有什么可以迭代的。(相比之下,我想我记得在 C# 中,is只要流缓冲区迭代器指向它,它就会存在,但在 C++ 中似乎并非如此。)

避免这种情况的一种解决方法是使用... *is = new std::ifstream(p),但这意味着完成后我必须自己处理指针。

是否有任何机制可以链接is其流缓冲区迭代器的生命周期?

// g++ test.cpp -o test && ./test

#include <iostream>
#include <fstream>

std::istreambuf_iterator<char> getFileIter(std::string p)
{
  std::ifstream is(p);
  //std::ifstream *is = new std::ifstream(p);
  std::cout << "Read " << p << "? " << is.good() << std::endl;
  return std::istreambuf_iterator<char>(is.rdbuf());
}

int main()
{
  std::string p1("/etc/passwd");
  std::string p2("/etc/group");

  // Prints 1 as if the two files were identical
  std::cout << …
Run Code Online (Sandbox Code Playgroud)

c++ scope lifetime

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

如何在支持多个Python版本的代码上使用“pylint”?

由于hashlib.file_digest仅在 Python 3.11 中引入,因此我使用了先前代码的回退:

if sys.version_info < (3, 11):
    digest = hashlib.sha256()
    digest.update(file.read())
else:
    digest = hashlib.file_digest(file, hashlib.sha256)
Run Code Online (Sandbox Code Playgroud)

在此文件上运行pylintPython 3.10 时,出现以下错误:

Module 'hashlib' has no 'file_digest' member (no-member)

我可以添加# pylint: disable=no-member到代码的底部分支,但随后我会得到

Useless suppression of 'no-member' (useless-suppression)

什么时候pylint在Python 3.11中运行。

python error-suppression pylint

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

为什么我的代码在 .py 文件中运行时可以工作,但在 Python 解释器中返回 SyntaxError ?

考虑这个代码:

with open("tmp", "w") as f:
    print(0)
print(1)
Run Code Online (Sandbox Code Playgroud)

这在另存为bug.py并使用python bug.py. 但我无法将此代码复制并粘贴到 python 解释器中:

Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 23:03:10) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> with open("tmp", "w") as f:
...     print(0)
... print(1)
  File "<stdin>", line 3
    print(1)
    ^
SyntaxError: invalid syntax
>>>
Run Code Online (Sandbox Code Playgroud)

语法错误在哪里?

编辑:这更普遍适用,如

if False:
    pass
pass
Run Code Online (Sandbox Code Playgroud)

python syntax runtime-error

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

如何检查 Python 集合是否已订购?

我想检查一个传递给函数的集合是否是有序的,即元素的顺序是固定的。(我不是在谈论“排序”。)

  • Aset未排序。
  • lists 和tuples 是有序的。

是否有我可以使用的通用测试?

python collections

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

当我打开文件时,我必须寻找到开头吗?

我一直在查看fopen和的文档ifstream,但我找不到的是打开文件后是否需要查找文件的开头。我我可以假设我不需要这样做,我所做的实验也支持这个假设,但我发现检查更安全。

c c++ fopen ifstream

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

为什么 rem 会影响通过管道输出的代码块?

more我喜欢使用括号中的命令块,因为它允许我立即将块中所有命令的输出通过管道传输到(或任何其他命令)。

通常,我也可以在这些块内添加注释(rem)。

但是,我似乎无法将这两个功能结合起来:带有注释的块more(或任何其他命令)根本不被执行。这是为什么?能解决吗?

@echo off
rem This works (prints X1)
(
    echo X1
)

rem This works (prints X2)
(
    echo X2
) | more

rem This works (prints X3)
(
    rem
    echo X3
)

rem Why does this print nothing?
(
    rem
    echo X4
) | more

rem Or this?
(
    echo X4
    rem
) | more

rem This works (prints X5)
(
    :: Using colons instead of rem
    echo X5
) | more
Run Code Online (Sandbox Code Playgroud)

windows comments pipeline batch-file

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

什么是声明没有完成函数的“std::barrier”的可移植方法?

我在https://cpp.sh/中尝试了以下操作。正如您所看到的,我没有找到跨编译器工作的单行示例。特别是,我想知道看似标准代码中的 MSVC 静态断言:

#include <barrier>
#include <functional>

class Class {
    // missing template argument
    // std::barrier my_barrier1;
    
    // static assert N4861 in MSVC
    // std::barrier<void(*)(void) noexcept> my_barrier2;
    
    // static assert N4861 in MSVC
    // std::barrier<std::function<void()>> my_barrier3;
    
    // std::function does not like noexcept
    // std::barrier<std::function<void() noexcept>> my_barrier3b;
    
    // compiles in MSVC but not here
    // std::barrier<std::_No_completion_function> my_barrier4;
    
    // copied from MSVC - works in both
    struct _No_completion_function {
        void operator()() noexcept {}
    };
    std::barrier<_No_completion_function> my_barrier5;
};

int main() {
    return …
Run Code Online (Sandbox Code Playgroud)

c++ templates functional-programming barrier

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

使用extern"C"有什么潜在的缺点?

我读过了

但是,我还没有找到答案的一个问题:使用extern "C"(例如,尽可能多的函数)是否存在(可能,未来)缺点?

更具体一点:添加extern "C"接口仅使用C功能的函数是否有任何缺点; 换句话说,那些不使用@ k-five答案中列出的功能的人?

c++ extern

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

为什么 is_convertible&lt;EnumClass, int&gt; 返回 false?

我不明白为什么std::is_convertible_v<EnumClass, int>在这个例子中返回 false,特别是考虑到它static_cast<int>(enumClassValue)工作正常。

#include <iostream>

enum Enum {X = 5};
enum class EnumClass {X = 5};

int main() {
    Enum enumValue = Enum::X;
    std::cout << static_cast<int>(enumValue) << std::endl;
    std::cout << std::is_convertible_v<Enum, int> << std::endl;

    EnumClass enumClassValue = EnumClass::X;
    std::cout << static_cast<int>(enumClassValue) << std::endl;
    std::cout << std::is_convertible_v<EnumClass, int> << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ enums type-traits

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