我们是从C#Guid.NewGuid()随机十岁上下的GUID生成器中所建议的顺序GUID算法切换过程这篇文章.虽然这似乎适用于MS SQL Server,但我不确定对Oracle数据库的影响,我们将guids存储在raw(16)字段中.有没有人知道这个算法是否适合为Oracle和MS SQL Server创建顺序guid,或者是否应该使用不同的变体.
谢谢!
我们有一个包含500多个表的数据库,其中几乎所有表都有一个数据类型为guid(uniqueidentifier)的聚簇PK.
我们正在测试从通过.NET Guid.NewGuid()方法生成的"正常""随机"guid到通过NHibernate guid.comb算法生成的顺序guid的转换.这看起来效果很好,但是那些已经拥有数百万行"随机"主键值的客户呢?
在此先感谢您的任何指示.
我正在尝试为 Keras 中的模型实现一个稍微修改的二元交叉熵损失函数。在 Keras 中,binary_crossentropy 定义为:
def binary_crossentropy(y_true, y_pred):
return K.mean(K.binary_crossentropy(y_true, y_pred), axis=-1)
Run Code Online (Sandbox Code Playgroud)
我拥有的数据是分组的(即有一列指示 group1、group2 等)但每个组的行数不同(即 group1 有 52 个观察值,group2 有 101 个观察值等)。
理想情况下,我想找到每个组的平均二元交叉熵,并返回最大平均二元交叉熵(最大的平均二元交叉熵,按组)。
似乎没有使用组的任何现成的解决方案,我无法想出一个解决方案。关于观察属于哪个组的信息会丢失,并且不会传递到 y_true 和 y_pred,而且我不确定 k-fold cv 将如何准确地改变作为 y_true 和 y_pred 传递的观察值/数量。如果有办法通过 Sequential 模型保留组信息,那可能就是解决方案。代码将完成类似的事情:
def custom_loss(y_true, y_pred):
max_bc = []
for group in groups:
max_bc += [K.mean(K.binary_crossentropy(y_true, y_pred), axis=-1)]
return max_bc
Run Code Online (Sandbox Code Playgroud)
如果上述方法不可行,另一种度量可能是张量的第 75 个百分位值。就像是:
Run Code Online (Sandbox Code Playgroud)def custom_loss(y_true, y_pred): return K.binary_crossentropy(y_true, y_pred)[len(y_true)*0.75]但我确信这是错误的——我只是对 Keras 和 Tensorflow 不够熟悉,无法获得正确的代码。
编辑:我可能刚刚找到了一种方法来做百分位数,但结果并不如预期......对第一部分有所了解仍然很棒。
def custom_loss(y_true, y_pred):
e = K.binary_crossentropy(y_true,y_pred)
return distributions.percentile(e, q=75.)
Run Code Online (Sandbox Code Playgroud) 我正在尝试合并来自两个模型的输出,并使用 keras 顺序模型将它们作为第三个模型的输入。型号 1 :
inputs1 = Input(shape=(750,))
x = Dense(500, activation='relu')(inputs1)
x = Dense(100, activation='relu')(x)
Run Code Online (Sandbox Code Playgroud)
型号 1 :
inputs2 = Input(shape=(750,))
y = Dense(500, activation='relu')(inputs2)
y = Dense(100, activation='relu')(y)
Run Code Online (Sandbox Code Playgroud)
型号3:
merged = Concatenate([x, y])
final_model = Sequential()
final_model.add(merged)
final_model.add(Dense(100, activation='relu'))
final_model.add(Dense(3, activation='softmax'))
Run Code Online (Sandbox Code Playgroud)
到这里为止,我的理解是,两个模型的输出作为 x 和 y 被合并并作为输入给第三个模型。但是当我适应这一切时,
module3.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
module3.fit([in1, in2], np_res_array)
Run Code Online (Sandbox Code Playgroud)
in1 和 in2 是两个维度为 10000*750 的 numpy ndarray,其中包含我的训练数据,np_res_array 是相应的目标。
这给了我错误,因为 'list' 对象没有属性 'shape'据了解,这就是我们向模型提供多个输入的方式,但这个错误是什么?我该如何解决?
例如我这样的代码
...获取一些内存并丢失所有指向该内存的指针,以便System.gc(); 可以收集它.
调用System.gc();
做一些其他的任务;
这里做"做其他一些任务;" 和"System.gc();" 在paralel工作或做"做其他一些任务;" 等待"System.gc();" 被执行
谢谢
java concurrency multithreading garbage-collection sequential
当我们有顺序输入时,应该使用什么类型的神经网络.假设我们想要一些文本,这些文本应该根据单词的顺序给出输出.为此,输出应取决于输入的先前状态.
“顺序编程语言”概念背后到底是什么?
我找不到合适/深入的描述。我清楚地看到什么是顺序算法,而是一种编程语言。
Sequential可能会反对procedural,但是...
什么是“严格顺序”的语言?这只是提供或不提供处理功能的可能性的问题吗?
我知道这个问题有点太笼统了,需要的不仅仅是简单的问答,但是关于该主题的介绍和/或一些好的指示将不胜感激。
编辑:
嗯,经过进一步阅读(感谢msw和Edorka),我意识到上面引用的假设是我对一些基本词汇的误解的结果,并且不依赖于任何具体的内容。因此这个问题变得毫无意义。但感谢你们的时间和宝贵的进展!
编辑 :sequential最好反对...
所以,如果输入是一个矢量,如
v <- (1, 2, 3, 7, 2, 8, 9)
Run Code Online (Sandbox Code Playgroud)
输出将是
(3, 2, 1, 7, 2, 9, 8)
Run Code Online (Sandbox Code Playgroud)
我已尝试使用嵌套for和if循环,条件为is.sorted函数,但没有取得任何成功.
我是 keras 的新手。我正在尝试 ML 问题。关于数据:
它有 5 个输入特征、4 个输出类和大约 26000 条记录。
我首先尝试使用 MLPClassifier() 如下:
clf = MLPClassifier(verbose=True, tol=1e-6, batch_size=300, hidden_layer_sizes=(200,100,100,100), max_iter=500, learning_rate_init= 0.095, solver='sgd', learning_rate='adaptive', alpha = 0.002)
clf.fit(train, y_train)
Run Code Online (Sandbox Code Playgroud)
经过测试,我的LB分数通常在99.90左右。为了在模型上获得更大的灵活性,我决定首先在 Keras 中实现相同的模型,然后对其进行更改以尝试提高 LB 分数。我想出了以下内容:
model = Sequential()
model.add(Dense(200, input_dim=5, init='uniform', activation = 'relu'))
model.add(Dense(100, init='uniform', activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(100, init='uniform', activation='relu'))
model.add(Dense(100, init='uniform', activation='relu'))
model.add(Dense(4, init='uniform', activation='softmax'))
lrate = 0.095
decay = lrate/125
sgd = SGD(lr=lrate, momentum=0.9, decay=decay, nesterov=True)
model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
hist = model.fit(train, categorical_labels, nb_epoch=125, batch_size=256, shuffle=True, verbose=2) …Run Code Online (Sandbox Code Playgroud) 我正在尝试对数据框中后续组中的项目进行比较-我想当您知道自己在做什么时,这很容易...
我的数据集可以表示如下:
set.seed(1)
data <- data.frame(
date = c(rep('2015-02-01',15), rep('2015-02-02',16), rep('2015-02-03',15)),
id = as.character(c(1005 + sample.int(10,15,replace=TRUE), 1005 + sample.int(10,16,replace=TRUE), 1005 + sample.int(10,15,replace=TRUE)))
)
Run Code Online (Sandbox Code Playgroud)
这会产生一个如下所示的数据框:
date id
1/02/2015 1008
1/02/2015 1009
1/02/2015 1011
1/02/2015 1015
1/02/2015 1008
1/02/2015 1014
1/02/2015 1015
1/02/2015 1012
1/02/2015 1012
1/02/2015 1006
1/02/2015 1008
1/02/2015 1007
1/02/2015 1012
1/02/2015 1009
1/02/2015 1013
2/02/2015 1010
2/02/2015 1013
2/02/2015 1015
2/02/2015 1009
2/02/2015 1013
2/02/2015 1015
2/02/2015 1008
2/02/2015 1012
2/02/2015 1007
2/02/2015 1008
2/02/2015 1009
2/02/2015 1006 …Run Code Online (Sandbox Code Playgroud) sequential ×10
keras ×3
guid ×2
python ×2
r ×2
sql-server ×2
tensorflow ×2
c# ×1
compare ×1
concurrency ×1
dplyr ×1
grouping ×1
java ×1
oracle ×1
reverse ×1
scikit-learn ×1
vector ×1