我有一个 3D numpy 数组,其中最后一个维度中包含每个类别的概率。就像是:
import numpy as np
from scipy.special import softmax
array = np.random.normal(size=(10, 100, 5))
probabilities = softmax(array, axis=2)
Run Code Online (Sandbox Code Playgroud)
如何从具有这些概率的分类分布中进行采样?
编辑:现在我正在这样做:
def categorical(x):
return np.random.multinomial(1, pvals=x)
samples = np.apply_along_axis(categorical, axis=2, arr=probabilities)
Run Code Online (Sandbox Code Playgroud)
但它非常慢,所以我想知道是否有一种方法可以向量化这个操作。
因此,在我的express应用程序中,我有一个单独的文件database.js,其中包含用于插入、删除、更新等的所有模型和函数。我还为每个模型都有一个单独的控制器。
数据库.js
module.exports = {
createUser: function (username, email, password) {
return sequelize.sync().then(function () {
User.findOrCreate({
where: {
username: name,
email: email
},
defaults: {
username: username,
password: password,
email: email
}
}).then(([user, created]) => {
console.log(user.get({plain:true}));
console.log(created)
});
});
}
};
Run Code Online (Sandbox Code Playgroud)
控制器/user.js
const database = require("../database.js");
module.exports = {
register: function (req, res) {
database.createUser(req.body.username, req.body.email, req.body.password);
res.json({...
})
}
};
Run Code Online (Sandbox Code Playgroud)
所以基本上我想获取用户对象和布尔值,告诉我它是否已创建到路由器,以便我可以检查用户是否已创建并做出适当的响应。