如何解决networkx stochastic_block_model 需要太多内存来构建
伙计们!我正在尝试从移动数据创建 SBM。我正在根据移动性数据计算 size_list 和概率矩阵,并尝试将其用作构建 SBM 的输入。
我当前的大小列表是 package filmoteca;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class GestionBDD {
private static String datosConexion = "jdbc:mysql://127.0.0.1:3306/";
private static String baseDatos = "cine";
private static String usuario = "root";
private static String pass = "";
private static String tabla = "pelicula";
private Connection con;
public GestionBDD() {
try {
con = DriverManager.getConnection(datosConexion,usuario,pass);
try{
crearBDD();
crearTablas();
}catch(Exception e){
e.printStackTrace();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
public void crearBDD() throws Exception{
String query = "CREATE DATABASE IF NOT EXISTS"+ baseDatos +";";
Statement stat = null;
try{
stat = con.createStatement();
stat.executeUpdate(query);
con = DriverManager.getConnection(datosConexion+baseDatos,pass);
}catch(SQLException e){
e.printStackTrace();
}finally{
stat.close();
}
}
public void crearTablas() throws Exception{
String query = "USE DATABASE "+baseDatos+";"+
"CREATE TABLE IF NOT EXISTS"+" "+tabla+"("
+ "titulo VARCHAR(30),"
+ "director VARCHAR(30),"
+ "pais VARCHAR(30),"
+ "duracion FLOAT,"
+ "genero VARCHAR(30));";
Statement stat = null;
try{
stat = con.createStatement();
stat.executeUpdate(query);
con = DriverManager.getConnection(datosConexion+baseDatos,pass);
}catch(SQLException e){
e.printStackTrace();
}finally{
stat.close();
}
}
}
,只有 12 个“块”。
概率矩阵为:
[3583,2809,8,3250,1404,7382,18,4450,4,1247,22,6]
我试着跑步
array([[5.26374546e-01,1.98437064e-01,2.79095730e-04,3.60033491e-02,2.40022328e-02,1.26988557e-01,6.00055819e-02,0.00000000e+00,2.17694669e-02,5.02372314e-03,8.37287190e-04],[4.39658241e-01,2.80882876e-01,7.11997152e-04,5.01957992e-02,1.49519402e-02,1.15343539e-01,5.51797793e-02,3.20398718e-02,1.06799573e-02,3.55998576e-04],[1.25000000e-01,5.00000000e-01,3.75000000e-01,0.00000000e+00],[7.60000000e-02,5.29230769e-02,6.15384615e-04,5.81538462e-01,4.61538462e-03,5.96923077e-02,3.07692308e-04,5.07692308e-02,1.61538462e-01,1.20000000e-02,[1.06125356e-01,2.92022792e-02,2.56410256e-02,6.80199430e-01,6.55270655e-02,2.84900285e-03,5.19943020e-02,3.34757835e-02,2.13675214e-03],[8.23625034e-02,3.88783527e-02,2.72283934e-02,2.39772419e-02,4.46085072e-01,3.25115145e-03,3.00325115e-01,9.88891899e-03,6.74613926e-02,5.41858575e-04],[5.55555556e-02,5.55555556e-02,4.44444444e-01,3.88888889e-01,[9.61797753e-02,4.42696629e-02,3.03370787e-02,2.13483146e-02,3.78876404e-01,1.79775281e-03,3.08314607e-01,1.61797753e-02,1.02471910e-01,2.24719101e-04],[0.00000000e+00,7.50000000e-01,2.50000000e-01,[4.57097033e-02,3.04731355e-02,4.29029671e-01,4.00962310e-03,5.21251002e-02,1.60384924e-03,6.01443464e-02,3.63271852e-01,1.36327185e-02,[4.54545455e-02,4.54545455e-02,9.09090909e-02,3.63636364e-01,1.36363636e-01,2.72727273e-01,[1.66666667e-01,1.66666667e-01,0.00000000e+00]])
但它很快就会耗尽 GCP 服务器 (64Gb) 中的内存。
构建网络需要大量 RAM,即使最终图的大小并不大。我查看了文档和脚本,但不知道如何更改构建函数以不使用这么多 RAM。
有没有合适的方法来构建这样的图?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。