小编vap*_*orK的帖子

为什么CreateWindow()函数需要WindowClass的名称成员而不是指向类本身的指针?

我正在阅读Luna的DirectX 11 3D游戏编程简介.总是为Linux命令行编程,我决定先阅读附录A,一个win32编程入门,我不明白CreateWindow的某些行为( )功能.它的第一个参数是你想要创建的窗口类的名称 - 所以你首先必须声明一个窗口类,然后"注册"它(我假设这意味着将类添加到神秘的win32 API中的某个类堆栈中),然后将窗口类的lpszClassName成员传递给函数,如下所示:

WNDCLASS wc;
//set all the various members of wc
wc.lpszClassName = L"BasicWndClass";
RegisterClass(&wc);
ghMainWindow = CreateWindow(L"BasicWndClass", L"LOL", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, instanceHandle, 0);
Run Code Online (Sandbox Code Playgroud)

我不明白为什么最后一行不是那样的

ghMainWindow = CreateWindow(&wc, L"LOL", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, instanceHandle, 0);
Run Code Online (Sandbox Code Playgroud)

是否有一些我不知道的历史或实践原因?

编辑:此外,做这样的事情是不好的做法?

ghMainWindow = CreateWindow(wc.lpszClassName, L"LOL", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, instanceHandle, 0);
Run Code Online (Sandbox Code Playgroud)

c++ winapi

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

TensorRT 中的 converter.build() 有什么用?

TensorRT官方文档列出了两种将 TensorFlow SavedModel 转换为 TensorRT SavedModel 的方法:第一种是

from tensorflow.python.compiler.tensorrt import trt_convert as trt
converter = trt.TrtGraphConverterV2(input_saved_model_dir=input_saved_model_dir)
converter.convert()
converter.save(output_saved_model_dir)
Run Code Online (Sandbox Code Playgroud)

第二个是

import tensorflow as tf
from tensorflow.python.compiler.tensorrt import trt_convert as trt

conversion_params = trt.DEFAULT_TRT_CONVERSION_PARAMS
conversion_params = conversion_params._replace(
    max_workspace_size_bytes=(1<<32))
conversion_params = conversion_params._replace(precision_mode="FP16")
conversion_params = conversion_params._replace(
    maximum_cached_engiens=100)

converter = trt.TrtGraphConverterV2(
    input_saved_model_dir=input_saved_model_dir,
    conversion_params=conversion_params)
converter.convert()
def my_input_fn():
  for _ in range(num_runs):
    Inp1 = np.random.normal(size=(8, 16, 16, 3)).astype(np.float32)
    inp2 = np.random.normal(size=(8, 16, 16, 3)).astype(np.float32)
    yield inp1, inp2
converter.build(input_fn=my_input_fn)
converter.save(output_saved_model_dir)

saved_model_loaded = tf.saved_model.load(
    output_saved_model_dir, tags=[tag_constants.SERVING]) …
Run Code Online (Sandbox Code Playgroud)

python tensorflow tensorrt

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

标签 统计

c++ ×1

python ×1

tensorflow ×1

tensorrt ×1

winapi ×1