小编Hak*_*hin的帖子

如何在Visual Studio代码中显示函数的用法?

我从Pycharm使用,可以按ctrl +单击一个函数定义,看看用途.在VSC中是否存在等价物?

visual-studio-code

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

为什么 C++ 标准不允许函数模板部分特化?

我读了一些编译器编写可能会令人困惑的内容

template <class T>
void calculator<std::complex<T>>::myMin();
Run Code Online (Sandbox Code Playgroud)

但也许只是给它一个提示?明确表示它是部分专业化。

template < , class T>
void calculator<std::complex<T>>::myMin();
Run Code Online (Sandbox Code Playgroud)

c++ templates partial-specialization

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

如何从 Windows 上的线程内部更改 python 线程名称?

我有一个主线程,它获取连接并立即产生新线程,然后在线程内部它接收一个被记录的名称,目前我的线程被命名为 Thread-n。我想从内部更改线程的名称。我找到了这个,但遗憾的是它只适用于 linux,任何类似的程序可以在 Windows 上执行此操作?

python multithreading

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

如何检查 cmake 使用的是什么编译器?

我很惊讶我找不到这个谷歌搜索。我只找到了这个,但我想知道如何找到 cmake 通常使用的编译器?我也发现了这个,但我假设 cmake 中有一些变量只包含编译器名称,对吗?

c++ cmake

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

如何正确使用enable_if?

我需要学习如何使用enable_if.为此,我需要使用enable_if重新实现distance函数.我试过这个:

#include <iostream>
#include <vector>
#include <list>
#include <utility>
#include <type_traits>

template<class In>
typename std::enable_if<!std::is_random_acces_iterator<In>::value, std::iterator_traits<In>::difference_type>::type  my_distance(In begin, In end, std::input_iterator_tag dummy){
  typename std::iterator_traits<In>::difference_type n = 0;
  while(begin!=end){
    ++begin; ++n;
  }
  std::cout << "STEPPING" << std::endl;
  return n;
}

template<class Ran>
typename std::enable_if<std::is_random_acces_iterator<Ran>::value, std::iterator_traits<In>::difference_type>::type my_distance(Ran begin, Ran end, std::random_access_iterator_tag dummy){
  std::cout << "RANDOM" << std::endl;
  return end - begin;
}

template <class I> inline
typename std::iterator_traits<I>::difference_type my_distance_wrapper(I begin, I end){
  typedef typename std::iterator_traits<I>::iterator_category cat;
  return my_distance(begin, end, cat());
}

int …
Run Code Online (Sandbox Code Playgroud)

c++ iterator enable-if c++11

6
推荐指数
1
解决办法
930
查看次数

如何检查字符串是否包含字典

我想递归地解析字典中所有带有字符串的值ast.literal_eval(value),但如果字符串不包含字典,则不执行 eval 操作。我想要这个,因为我在字典中有一个字符串,它本身就是一个字典,并且我希望该值是一个字典。最好举个例子

my_dict = {'a': 42, 'b': "my_string", 'c': "{'d': 33, 'e': 'another string'}"}
Run Code Online (Sandbox Code Playgroud)

现在我不想做,ast.literal_eval(my_dict['c'])我想要一个通用的解决方案,我可以做convert_to_dict(my_dict)

我想编写自己的方法,但我不知道如何检查字符串是否包含字典,然后 ast.literal_eval 将失败,因此出现了问题。

python string recursion dictionary python-3.x

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

如何访问python LogRecord的asctime?

我有一个记录器和一个类 DuplicateFilter 来过滤已经记录一次的消息。我想将日志记录发生的时间包含在我的过滤器中,但是当我尝试访问属性 asctime 时,我得到:AttributeError: 'LogRecord' object has no attribute 'asctime'

这是我如何设置记录器的一个小例子:

import logging
import logging.handlers as log_handlers
def setup_logger(filename):
    class DuplicateFilter(object):
        def __init__(self):
            self.msgs = set()

        def filter(self, record):
            if logger.level == 10:
                return True
            rv = True
            try:
                print(record.asctime)
                msg = record.threadName + " " + record.msg
                if msg in self.msgs:
                    rv = False
            except Exception as e:
                print(traceback.format_exc())
                return rv
            self.msgs.add(msg)
            return rv

    log_formatter = logging.Formatter("%(asctime)s [%(levelname)-5.5s] [%(threadName)-30.30s]   %(message)s")
    file_handler = log_handlers.TimedRotatingFileHandler(filename, encoding="UTF-8", when='W6', backupCount=12)
    file_handler.setFormatter(log_formatter) …
Run Code Online (Sandbox Code Playgroud)

python logging

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

我可以多次使用 slerp 来平均四元数吗?

据我了解 slerp 在两个四元数之间进行插值并返回一个单位四元数。所以如果我想平均 3 个四元数我可以这样做(假设它们都彼此接近):

Eigen::Quaterniond t4;
Eigen::Quaterniond u4;
Eigen::Quaterniond v4;
Eigen::Quaterniond average1 = t4.slerp(0.5, u4);
Eigen::Quaterniond average2 = average1.slerp(0.5, v4);
Run Code Online (Sandbox Code Playgroud)

直觉上这对我来说是有道理的,但话又说回来,我们正在谈论的是四元数。

quaternions

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

Tensorboard调试器图表消失,只剩下队列,为什么?

我正在尝试使用tensorboard调试器来调试我的应用程序.我看到图形如何慢慢构建,但是当训练开始时我只看到CPU上的队列节点和图形的其余部分,整个GPU部分不再可见.最简单的解释几张照片.

在我运行第一个session.run(var.assign(data))来初始化数据之前: 在此输入图像描述 在此输入图像描述 然后我逐步通过vars的初始化: 在此输入图像描述 最后,当我用sess.run(training_op)开始训练时: 在此输入图像描述 为什么我最后只看到FIFO队列而不是整个图?

看起来GPU正在从调试过程中被切断,但我不确定为什么,因为肯定会被使用,因为我已经编写了自定义操作,当我打印时我得到输出,但这是一个麻烦的调试方式.

我不能发布一个MVC,因为代码库是庞大而复杂的,但原则是:

  1. FIFO队列
    • q = tf.FIFOQueue(queue_size, [tf.float32, tf.float32, tf.int32, tf.float32, tf.float32, tf.float32, tf.float32, tf.float32, tf.float32, tf.float32, tf.float32])
  2. 图形积累
    • def make_var(self, name, shape, initializer=None, regularizer=None, trainable=True): return tf.get_variable(name, shape, initializer=initializer, regularizer=regularizer, trainable=trainable)
  3. 变量初始化
    • session.run(var.assign(data))
  4. 第二个线程开始提供队列
    • t = threading.Thread(target=load_and_enqueue, args=(sess, self.net, data_layer, coord_train, iters_train))
  5. 训练循环
    • 第5点和第6点都显示在这里:

格式化虚拟文本

for epoch in range(epochs):
    coord_train.run = True
    coord_val.run = True
    t = threading.Thread(target=load_and_enqueue, args=(sess, self.net, data_layer, coord_train, iters_train))
    t.start()
    t_val = threading.Thread(target=load_and_enqueue_val, args=(sess, self.net, data_layer, coord_val, iters_val))
    print("Epoch: %d / …
Run Code Online (Sandbox Code Playgroud)

python debugging tensorflow

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

Typo3 7.6激活递归删除?

我想知道如何在typo3 7.6.2中激活递归删除.所有谷歌搜索结果的旧版本建议去用户并在那里更改它.但我查看了后端用户下管理员用户的所有可能选项卡,但找不到激活它的选项.那我该怎么做?

recursion typo3 typo3-7.6.x

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

如何检测程序是否正在由cx_freeze编译?

我有一个使用 configparser 读取 ini 的 python 程序。我希望与 python 文件具有相同的名称,这就是我使用以下代码的原因:

# nativ python
#fileName = sys.argv[0].split('.')[0]

# compiled python
fileName = sys.argv[0].split('\\')[-1]
fileName = fileName.split('.')[0]
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,根据我运行它的模式,我有不同的版本。将其作为 python 脚本 sys.argv 运行会产生与将其用作 exe 不同的结果。我手动切换它,有时我会忘记它,不得不更改它并重新编译整个东西。但我看到了其他事情,例如:

if sys.platform == "win64":
    base = "Win64GUI"
else:
    base = "Win32GUI"
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以使用类似于以下内容的方式检测 cx_freeze 是否正在编译源代码:

if getting_compiled():
    fileName = sys.argv[0].split('.')[0]
else:
    fileName = sys.argv[0].split('\\')[-1]
    fileName = fileName.split('.')[0]
Run Code Online (Sandbox Code Playgroud)

python cx-freeze

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