小编m3h*_*h0w的帖子

如何使用 Vite 或 Svite 在 Svelte 中加载环境变量

我一直在尝试找出在 Svelte App 中为 API 配置实现环境变量的最佳实践。据我所知,我们必须使用 Vite 或 Svite 才能使其工作。谁能帮我找到解决方案吗?

environment-variables svelte dotenv vite

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

如何使用张量流有效地提取给定长度的所有切片

我试图沿着2-dim张量的第0轴提取长度为4的所有切片.到目前为止,我可以将纯Python与tensorflow混合使用.

r = test.shape[0] # test should be a tensor
n = 4
a_list = list(range(r))
the_list = np.array([a_list[slice(i, i+n)] for i in range(r - n+1)])
test_stacked = tf.stack(tf.gather(test, the_list))
Run Code Online (Sandbox Code Playgroud)

在不使用纯Python的情况下,这样做的有效方法是什么?请注意,"test"数组实际上应该是一个张量,因此在执行图的第一部分之前,它的形状是未知的.

一个完整的香草例子:

array = np.array([[0, 1],[1, 2],[2, 3],[3, 4],[4, 5],[5, 6]])
array.shape # (6,2)

r = array.shape[0]
n = 4
a_list = list(range(r))
the_list = np.array([a_list[slice(i, i+n)] for i in range(r - n+1)])

result = array[the_list] # all possible slices of length 4 of the array along 0th axis
result.shape …
Run Code Online (Sandbox Code Playgroud)

python tensorflow

7
推荐指数
1
解决办法
185
查看次数

OpenCV Python功能检测:如何提供遮罩?(筛)

我正在使用OpenCV3在Python3中构建一个简单的项目,试图将拼图碎片与“完成的”拼图图像进行匹配。我已经使用SIFT开始了测试。

我可以提取拼图碎片的轮廓并裁剪图像,但是由于大多数高频信号当然都位于碎片周围(碎片结束且地板开始的位置),因此我想将蒙版传递给SIFT detectAndCompute( )方法,从而迫使算法仅在片段内寻找关键点。

test_mask = np.ones(img1.shape, np.uint8)
kp1, des1 = sift.detectAndCompute(img1, mask = test_mask)
Run Code Online (Sandbox Code Playgroud)

通过测试掩码(以确保它为uint8)后,出现以下错误:

kp1,des1 = sift.detectAndCompute(img1,mask = test_mask)cv2.error:/home/pyimagesearch/opencv_contrib/modules/xfeatures2d/src/sift.cpp:772:错误:(-5)掩码类型不正确(!= CV_8UC1)在函数detectAndCompute中

根据我的研究,uint8只是CV_8U的别名,与CV_8UC1相同。在Python中找不到将掩码传递给任何特征检测算法的代码示例。

python opencv types sift feature-detection

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

为什么 makeStyles 和 createStyles 必须分开(Material UI + TypeScript)?

我一直在使用 Material UI 处理 TypeScript 问题所需的这种结构,这真的让我很烦恼,每次我想设计一个组件的样式时,我都需要记住如何将 2 个不同的函数组合成一个会产生钩子的东西(我可以用一个片段来解决它,但对我来说永远感觉不对):

const useStyles = makeStyles((theme: Theme) =>
  createStyles({
    ...styles
  })
);
Run Code Online (Sandbox Code Playgroud)

因此,我当然尝试通过将其抽象为 1 个函数来使其更加 DRY,但我似乎无法理解如何使这些类型为此工作。这是我笨拙的尝试:

const makeUseStyles = (styleFunc: (th: Theme) => CSSProperties | CreateCSSProperties<{}>) =>
  makeStyles((theme: Theme) => {
    const st = styleFunc(theme);
    return createStyles(st);
  });
Run Code Online (Sandbox Code Playgroud)

这会产生 2 个问题:createStyles不接受st作为参数:

Type 'unknown' is not assignable to type 'PropsFunc<(value: JSSFontface, index: number, array: JSSFontface[]) => unknown, CreateCSSProperties<(value: JSSFontface, index: number, array: JSSFontface[]) => unknown>>'
Run Code Online (Sandbox Code Playgroud)

并且返回的函数makeUseStyles突然期待propstype的必需参数(value: …

typescript material-ui

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

TempData 值在 RedirectToAction() 之后从 List&lt;string&gt; 隐式转换为 string[]

我正在使用 TempData 允许在重定向后显示错误消息。为了兼容性,我使用 aList<string>将消息添加到 NotificationHelper 类中的错误列表中:

if (TempData["errorNotification"] == null) {
    TempData["errorNotification"] = new List<string> {
        message
    };
} else {
    var data = (List<string>) TempData["errorNotification"];
    data.Add(message);
    TempData["errorNotification"] = data;
}
Run Code Online (Sandbox Code Playgroud)

在控制器内部,我用错误消息填充该 TempData,在return RedirectToAction()调用之前,TempData 包含一个字典记录List<string>(准确地说:)System.Collections.Generic.List`1[System.String]作为值,但在调用之后,在Terms()函数内部,该值变为数组 ( System.String[])。

[HttpGet]
public IActionResult Terms()
{
    return View();
}

[HttpGet]
public IActionResult Index()
{
    NotificationHelper.AddErrorNotification("error!", TempData);
    return RedirectToAction("Terms");
}
Run Code Online (Sandbox Code Playgroud)

问题是为了使用数据,我在视图中转换类型,如下所示:

var errorMessages = TempData["errorNotification"] as List<string>;

转换后我必须这样做:

var errorMessages = TempData["errorNotification"] as string[]; …

c# asp.net-core-mvc asp.net-core

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