我想知道如何更改Storybook 中组件故事内的React Context的值。我想有一种方法可以通过故事控制来控制它,但没有任何文档。
我使用Storybook 文档的这一部分为我的故事提供两个单独的上下文。
我的代码.storybook/preview.js如下所示:
export const decorators = [
(Story) => (
<FilterProvider>
<SearchQueryProvider>
<Story />
</SearchQueryProvider>
</FilterProvider>
),
];
Run Code Online (Sandbox Code Playgroud)
和FilterProvider代码SearchQueryProvider如下所示:
const SearchQueryProvider = ({ children }: SearchQueryProviderProps) => {
const [searchQuery, setSearchQuery] = useState<string>("");
return (
<SearchQueryContext.Provider value={[searchQuery, setSearchQuery]}>
{children}
</SearchQueryContext.Provider>
);
};
export { SearchQueryProvider, useSearchQuery };
Run Code Online (Sandbox Code Playgroud)
这些状态的初始值基本上都是空的。为了测试和预览使用这些上下文的组件,我现在想更改 Storybook 中的值。
如果有人知道我如何实现这一目标:我很高兴知道并感谢您分享您的知识:)
在我见过的有关Pyglet的所有Web教程中,似乎没有一个教程使用类来包含pyglet.window.Window实例。例如,大多数教程看起来像
import pyglet
game_window = pyglet.window.Window()
@game_window.event
def on_draw():
#dostuff
while __name__ == "__main__":
pyglet.app.run()
Run Code Online (Sandbox Code Playgroud)
我在将这段代码重组为一个类时遇到麻烦。我打算这样做的代码在这里:
import pyglet
from pyglet.gl import *
from Board import Board
class Frontend:
def __init__(self,xs, ys):
self.GameInstance = Board(xs,ys)
self.GameWindow = pyglet.window.Window(width=512, height=512,visible=False)
@GameWindow.event
def on_draw(self):
self.GameWindow.clear()
f = Frontend()
Run Code Online (Sandbox Code Playgroud)
运行此代码时,出现以下错误:
Traceback (most recent call last):
File "C:/Users/PycharmProjects/Nothing/2048/Frontend.py", line 7, in <module>
class Frontend:
File "C:/Users/PycharmProjects/Nothing/2048/Frontend.py", line 13, in Frontend
@GameWindow.event
NameError: name 'GameWindow' is not defined
Run Code Online (Sandbox Code Playgroud)
当我更换@GameWindow.event同@self.GameWindow.event在试图解决NameError我得到:
Traceback (most recent …Run Code Online (Sandbox Code Playgroud) 您好,我的训练数据中标签中有很多缺失值,例如单个标签可以具有以下值:
[nan, 0, 0, nan, 1, 0]
Run Code Online (Sandbox Code Playgroud)
我想训练一个忽略 nan 值的分类模型。目前我已将 nan 值填充为 -1,并尝试对其进行切片。掩码不起作用,因为分类交叉熵仍然考虑到它
ix = tf.where(tf.not_equal(y_true, -1))
true = tf.gather(y_true, ix)
pred = tf.gather(y_pred, ix)
return keras.objectives.categorical_crossentropy(true, pred)
Run Code Online (Sandbox Code Playgroud)
是我到目前为止所能想到的,但它有错误
InvalidArgumentError (see above for traceback): Incompatible shapes: [131] vs. [128]
[[Node: mul_1 = Mul[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"](Mean, _recv_dense_3_sample_weights_0/_13)]]
Run Code Online (Sandbox Code Playgroud)
有谁知道如何处理这个问题?
python missing-data keras tensorflow multiclass-classification
我正在尝试将 TensorFlow 数据集(从 .csv 文件读取)输入到使用功能 API 定义的多输入 tf.keras 模型中。当我传递这些与标签压缩在一起的数据集时,训练效果很好。当我想调用predict()(大概是在一些未标记的不同数据集上)时,它会抛出一个错误(无论是在急切执行还是非急切执行中)
这是我当前的代码:
import tensorflow as tf
import numpy as np
tf.enable_eager_execution()
# Define model.
input_A = tf.keras.layers.Input(shape=(None, 5), name='sensor_A_input')
x_1 = tf.keras.layers.LSTM(5, return_sequences=False, recurrent_initializer='glorot_uniform')(input_A)
input_B = tf.keras.layers.Input(shape=(None, 4), name='sensor_B_input')
x_2 = tf.keras.layers.LSTM(5, return_sequences=False, recurrent_initializer='glorot_uniform')(input_B)
x = tf.keras.layers.concatenate([x_1, x_2], name='concat_test')
output = tf.keras.layers.Dense(1, activation='sigmoid', name='output')(x)
model = tf.keras.Model(inputs=[input_A, input_B], outputs=output)
model.compile(optimizer='rmsprop',
loss='categorical_crossentropy',
metrics=['accuracy'])
model.run_eagerly = tf.executing_eagerly()
# Define input data.
# Dataset 1 is read from 10 .csv files where one …Run Code Online (Sandbox Code Playgroud) 使用 conda 创建新环境时,我们会得到一个完全空的虚拟环境:
conda create --name=test
conda activate test
conda list
Run Code Online (Sandbox Code Playgroud)
最后一个命令的输出是一个空列表,甚至没有pip安装。我想用 pythonvenv命令实现相同的结果(或者至少只pip安装了“最小”虚拟环境)。当我运行时python -m venv test,新环境包含所有“系统范围”可用的包:
python -m venv test
source test/bin/activate
pip freeze
Run Code Online (Sandbox Code Playgroud)
输出一长串包。
根据文档,该命令具有--system-site-packages参数,但看起来默认情况下已启用,我找不到禁用它的方法。我也试过使用旧的 virtualenv--clear参数,但显然它没有被考虑在内。
编辑:
原来是环境模块module命令干扰了 python 模块(https://modules.readthedocs.io/en/latest/)。运行后module purge pip freeze返回空列表。
我是Haskell的新手,但我仍然想尽办法。我正在尝试将两个函数(isMark以及isAlpha来自包中的Data.Char模块base)合并为Data.Text.filter函数的第一个参数。到目前为止,我尝试过的是:
import qualified Data.Char as C
import qualified Data.Text as T
import Data.Text (Text)
strippedInput :: Text -> Text
strippedInput input = T.filter (C.isMark || C.isAlpha) input
Run Code Online (Sandbox Code Playgroud)
这不起作用,或者
strippedInput input = T.filter (C.isMark . C.isAlpha) input
Run Code Online (Sandbox Code Playgroud)
但显然它也不管用,因为类型C.isAlphaIS Char -> Bool然后成为一个输入C.isMark,这也是类型Char -> Bool等等类型不匹配。
我想在谓词中实现“ C.isMark或C.isAlpha”逻辑,但是由于我的知识非常有限,我对如何搜索解决方案的想法已经用尽。
python ×4
keras ×2
tensorflow ×2
class ×1
haskell ×1
missing-data ×1
overriding ×1
predicate ×1
pyglet ×1
python-3.x ×1
python-venv ×1
reactjs ×1
storybook ×1
text ×1