我正在开发一个设置,其中几个开发人员,使用Jupyter笔记本,在不同的项目上,都在远程机器上执行他们的代码.
由于每个项目都需要不同的virtualenv
事情,现在发生的是每个项目的每个开发人员,设置特定项目virtualenv
,安装笔记本,在不同的端口上运行,并通过该端口连接到远程机器.
有没有办法在远程机器上运行1个Jupyter笔记本,但是能够选择哪个virtualenv
用作内核?
我主要考虑的是能够只暴露远程机器上的一个端口,但能够使用不同的虚拟python环境来运行笔记本电脑
我正在实现一个tf.keras.layers.Layer
需要支持屏蔽的自定义。
考虑以下场景
embedded = tf.keras.layer.Embedding(input_dim=vocab_size + 1,
output_dim=n_dims,
mask_zero=True)
x = MyCustomKerasLayers(embedded)
Run Code Online (Sandbox Code Playgroud)
现在根据文档
mask_zero
: 输入值 0 是否是应该屏蔽的特殊“填充”值。这在使用可能需要可变长度输入的循环层时很有用。如果为 True,则模型中的所有后续层都需要支持掩码,否则将引发异常。如果 mask_zero 设置为 True,结果,索引 0 不能在词汇表中使用(input_dim 应等于词汇表的大小 + 1)。
我想知道,这是什么意思?查看TensorFlow 的自定义层指南和tf.keras.layer.Layer文档,不清楚应该做什么来支持屏蔽
我如何支持屏蔽?
如何从过去的图层访问蒙版?
假设输入(batch, time, channels)
or `(batch, time) 掩码看起来会不同吗?它们的形状会是什么?
我如何将它传递到下一层?
使用诗歌,有时在检查依赖关系时诗歌会指示由于兼容性问题而无法安装某些东西。
例如,我的项目中有numpy==1.19.2
. 现在,当我尝试安装时,pandas
我得到以下信息
$: poetry add pandas
The currently activated Python version 3.6.9 is not supported by the project (>=3.8,<3.11).
Trying to find and use a compatible version.
Using python3.9 (3.9.7)
Using version ^1.3.4 for pandas
Updating dependencies
Resolving dependencies... (0.6s)
SolverProblemError
Because no versions of pandas match >1.3.4,<2.0.0
and pandas (1.3.4) depends on numpy (>=1.20.0), pandas (>=1.3.4,<2.0.0) requires numpy (>=1.20.0).
So, because my_project depends on both numpy (1.19.2) and pandas (^1.3.4), version solving failed.
Run Code Online (Sandbox Code Playgroud)
如何确定 …
希望将CSV文件索引到ElasticSearch,而不使用Logstash.我正在使用elasticsearch-dsl
高级库.
给定带标题的CSV,例如:
name,address,url
adam,hills 32,http://rockit.com
jane,valleys 23,http://popit.com
Run Code Online (Sandbox Code Playgroud)
按字段索引所有数据的最佳方法是什么?最终我想让每一行看起来像这样
{
"name": "adam",
"address": "hills 32",
"url": "http://rockit.com"
}
Run Code Online (Sandbox Code Playgroud) 我有一系列值,并且正在计算给定表的每一行的皮尔逊相关性。
我该怎么做?
例:
import pandas as pd
v = [-1, 5, 0, 0, 10, 0, -7]
v1 = [1, 0, 0, 0, 0, 0, 0]
v2 = [0, 1, 0, 0, 1, 0, 0]
v3 = [1, 1, 0, 0, 0, 0, 1]
s = pd.Series(v)
df = pd.DataFrame([v1, v2, v3], columns=['a', 'b', 'c', 'd', 'e', 'f', 'g'])
# Here I expect ot do df.corrwith(s) - but won't work
Run Code Online (Sandbox Code Playgroud)
使用Series.corr()
来计算,预期产量
-0.1666666666666666 # correlation with the first row
0.83914639167827343 …
Run Code Online (Sandbox Code Playgroud) 我正在使用ffmpeg
从管道导入的base64编码图像列表创建视频ffmpeg
。
输出到文件(使用下面的附加代码)可以完美地工作,但是我想实现的是将输出改为Python变量-意味着管道输入和管道输出,但我似乎无法使其正常工作
我当前的代码:
output = os.path.join(screenshots_dir, 'video1.mp4')
cmd_out = ['ffmpeg',
'-y', # (optional) overwrite output file if it exists
'-f', 'image2pipe',
'-vcodec', 'png',
'-r', str(fps), # frames per second
'-i', '-', # The input comes from a pipe
'-vcodec', 'png',
'-qscale', '0',
output]
pipe = sp.Popen(cmd_out, stdin=sp.PIPE)
for screenshot in screenshot_list:
im = Image.open(BytesIO(base64.b64decode(screenshot)))
im.save(pipe.stdin, 'PNG')
pipe.stdin.close()
pipe.wait()
Run Code Online (Sandbox Code Playgroud)
这会导致mp4正常工作,但我想避免保存到本地。
更改output
为'-'
或'pipe:1'
添加并运行相同代码会stdout=sp.PIPE
导致错误
[NULL @ 0x2236000]无法为'pipe:'找到合适的输出格式
我查看了各种解决在特定列上计算重复行的问题的 SO 问题,最相关的是这个问题。
问题是,这个解决方案非常具体,我无法弄清楚如何将它推广到具有更多数据的数据帧。我有一个包含多列的数据框,我想添加一个名为“A_D_E_count”的新列,该列将指示整个数据框中有多少行具有每行的 A、D 和 E 列的相同值。
最好这应该使用.transform
功能
例子:
Out[6]:
A B C D E
0 294 41981 37597 39875 33364
1 294 39776 37597 37572 39171
2 294 44658 49408 43713 49408
3 294 58615 52065 43713 49408
4 294 44811 51238 42926 49408
Run Code Online (Sandbox Code Playgroud)
在这个数据框上,我想添加一个列来计算包含相同A
D
和E
值的行数,因此结果将是
Out[6]:
A B C D E A_D_E_count
0 294 41981 37597 39875 33364 1
1 294 39776 37597 37572 39171 1
2 294 44658 …
Run Code Online (Sandbox Code Playgroud) 我已经使用tf.data.Dataset
API 训练了模型,所以我的训练代码看起来像这样
with graph.as_default():
dataset = tf.data.TFRecordDataset(tfrecord_path)
dataset = dataset.map(scale_features, num_parallel_calls=n_workers)
dataset = dataset.shuffle(10000)
dataset = dataset.padded_batch(batch_size, padded_shapes={...})
handle = tf.placeholder(tf.string, shape=[])
iterator = tf.data.Iterator.from_string_handle(handle,
train_dataset.output_types,
train_dataset.output_shapes)
batch = iterator.get_next()
...
# Model code
...
iterator = dataset.make_initializable_iterator()
with tf.Session(graph=graph) as sess:
train_handle = sess.run(iterator.string_handle())
sess.run(tf.global_variables_initializer())
for epoch in range(n_epochs):
sess.run(train_iterator.initializer)
while True:
try:
sess.run(optimizer, feed_dict={handle: train_handle})
except tf.errors.OutOfRangeError:
break
Run Code Online (Sandbox Code Playgroud)
现在,在训练完模型之后,我想推断出数据集中没有的示例,而且我不确定该怎么做。
明确地说,我知道如何使用另一个数据集,例如,我只是在测试时将句柄传递给测试集。
The question is about given the scaling scheme and the fact that the network expects a …
sklearn.base
更具体地说BaseEstimator
,检查和不同的混入,很明显,一些混入依赖于调用.fit
或的能力.predict
。
例如,如果我们查看 ,RegressorMixin
我们会看到它依赖于.predict
方法。
我的问题是为什么没有强制实现这些方法的接口/抽象类的实现?
我希望有一些像BaseRegressor
有.predict()
作为一个抽象的方法,并BaseClassifier
有.predict_proba()
和.predict()
-或类似的东西
在pandas中,我经常使用以下内容按出现次数过滤数据帧
df = df.groupby('A').filter(lambda x: len(x) >= THRESHOLD)
Run Code Online (Sandbox Code Playgroud)
假设df
有另一列'B'
,我想通过该列上的唯一值计数来过滤数据帧,我希望像
df = df.groupby('A').filter(lambda x: len(np.unique(x['B'])) >= THRESHOLD2)
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用,什么是正确的方法?
python ×9
pandas ×3
tensorflow ×2
correlation ×1
csv ×1
ffmpeg ×1
ipython ×1
keras ×1
pip ×1
python-3.5 ×1
scikit-learn ×1
virtualenv ×1