我想提供来自火花集群的数据,以训练深度网络。我的节点中没有 GPU,所以分布式 TensorFlow 或类似的包elephas不是一种选择。
我想出了以下可以完成这项工作的生成器。它只是从 Spark 中检索下一批。为了处理批次,我添加了一个额外的列index(它只是增量 id 列),并在每次调用下一个批次时对其进行过滤。
class SparkBatchGenerator(tfk.utils.Sequence):
def __init__(self, spark_df, batch_size, sample_count=None, feature_col='features', label_col='labels'):
w = Window().partitionBy(sf.lit('a')).orderBy(sf.lit('a'))
df = spark_df.withColumn('index', sf.row_number().over(w)).sort('index')
self.X = df.select([feature_col, 'index'])
self.y = df.select([label_col, 'index'])
self.data_count = sample_count if sample_count else spark_df.count()
self.feature_col = feature_col
self.label_col = label_col
self.batch_size = batch_size
def __len__(self):
return np.ceil(self.data_count /self.batch_size).astype(int)
def __getitem__(self, idx):
start, end = idx * self.batch_size, (idx + 1) * self.batch_size
batch_x = (
self.X.filter(f'index >= {start} and index …Run Code Online (Sandbox Code Playgroud) 我正在使用 Gnuplot 从输入文件中绘制步骤函数:
plot 'myFile' using 1:2 with steps
Run Code Online (Sandbox Code Playgroud)
我想填充情节下方。就像是
plot 'myFile' using 1:2 with filledcurves
Run Code Online (Sandbox Code Playgroud)
但是 Gnuplot 通过在连续点之间画一条线来填充图表下方。
如何在 step 函数下方填写?
我有以下使用pyspark.ml软件包进行线性回归的代码。但是,当模型适合时,我在最后一行收到此错误消息:
IllegalArgumentException:您的要求失败:列要素的类型必须为org.apache.spark.ml.linalg.VectorUDT@3bfc3ba7,但实际上是org.apache.spark.mllib.linalg.VectorUDT@f71b0bce。
有谁知道缺失了什么?是否有任何替换pyspark.ml为LabeledPoint在pyspark.mllib?
from pyspark import SparkContext
from pyspark.ml.regression import LinearRegression
from pyspark.mllib.regression import LabeledPoint
import numpy as np
from pandas import *
data = sc.textFile("/FileStore/tables/w7baik1x1487076820914/randomTableSmall.csv")
def parsePoint(line):
values = [float(x) for x in line.split(',')]
return LabeledPoint(values[1], [values[0]])
points_df = data.map(parsePoint).toDF()
lr = LinearRegression()
model = lr.fit(points_df, {lr.regParam:0.0})
Run Code Online (Sandbox Code Playgroud) 我在 Keras 序列中使用 Tensorflow 概率层。但是,将模型保存为 json 然后加载它会引发异常。我用来custom_objects加载自定义图层。这是重现错误的简约代码。
import tensorflow_probability as tfp
tfk = tf.keras
tfkl = tf.keras.layers
tfpl = tfp.layers
original_dim = 20
latent_dim = 2
model = tfk.Sequential([
tfkl.InputLayer(input_shape=original_dim),
tfkl.Dense(10, activation=tf.nn.leaky_relu),
tfkl.Dense(tfpl.MultivariateNormalTriL.params_size(latent_dim), activation=None),
tfpl.MultivariateNormalTriL(latent_dim)
])
model_json = model.to_json()
with open("model.json", "w") as json_file:
json_file.write(model_json)
loaded_model = tfk.models.model_from_json(
open('model.json').read(),
custom_objects={
'leaky_relu': tf.nn.leaky_relu,
'MultivariateNormalTriL': tfpl.MultivariateNormalTriL
}
)
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-26-bbbeffd9e4be> in <module>
3 custom_objects={
4 'leaky_relu': tf.nn.leaky_relu,
----> 5 'MultivariateNormalTriL': tfpl.MultivariateNormalTriL
6 } …Run Code Online (Sandbox Code Playgroud)