[Машинное обучение] Реализация графовой нейронной сети (GNN) с использованием Python: анализ и применение графовых структурированных данных
[Машинное обучение] Реализация графовой нейронной сети (GNN) с использованием Python: анализ и применение графовых структурированных данных

1. Введение

В современном анализе данных графические данные привлекают все большее внимание благодаря своей способности естественным образом представлять объекты и их отношения. Структуры графов повсеместно используются во многих практических приложениях, таких как отношения пользователей в социальных сетях, атомы и связи в химических молекулах, сети взаимодействия генов в биоинформатике, дороги и перекрестки в транспортных системах и т. д. Традиционные методы анализа данных часто не могут справиться с этими сложными данными, имеющими графическую структуру, что затрудняет полный анализ потенциальной информации.

Графовые нейронные сети (GNN), как новый метод машинного обучения, могут эффективно обрабатывать и анализировать данные структуры графа. GNN распространяют информацию между узлами и краями графа через механизм передачи сообщений, фиксируя сложные межузловые отношения и глобальную структуру графа, тем самым достигая глубокого понимания и эффективной обработки данных графа. В последние годы, благодаря развитию технологий глубокого обучения, GNN достигли замечательных результатов во многих областях и стали горячей точкой исследований.

Целью этой статьи является систематическое представление основных принципов, основных моделей и практических случаев использования графовых нейронных сетей в различных сценариях применения. Сначала мы изложим основные концепции графов и традиционных методов анализа графов, затем углубимся в основные модели и приложения GNN и, наконец, обсудим проблемы и будущие направления развития текущих исследований GNN. Благодаря этой статье читатели смогут полностью понять потенциал и перспективы применения графовых нейронных сетей, мощного инструмента анализа графоструктурированных данных.


2. Базовые знания графовой нейронной сети.

1. Основные понятия и терминология графов

Прежде чем глубже понять графовые нейронные сети, вам сначала необходимо понять основные концепции графов и связанную с ними терминологию.

  • Узел:основные элементы на диаграммах,Представляет сущность или объект.
  • Край:линии, соединяющие узлы,Представляет связь между узлами.
  • Матрица смежности:Матрица, которая представляет связи между узлами графа в матричной форме.。

Например, простой неориентированный граф можно представить как:

  • Тип фигуры
    • Неориентированный граф:Сторона не имеет направления。
    • Ориентированный граф:Края имеют направление。
    • Взвешенный график:Край с весом,Указывает на прочность отношений.
2. Традиционные методы анализа графов

До появления графовых нейронных сетей традиционные методы анализа графов в основном включали:

  • алгоритм кратчайшего пути:нравитьсяDijkstraалгоритм,Используется для расчета кратчайшего пути между двумя узлами.
  • Алгоритм PageRank:Используется для оценки важности узлов в графе.,Широко используется при ранжировании веб-страниц.
3. Основные принципы работы графовой нейронной сети.

Нейронные сети графа реализуют передачу и обновление информации между узлами и ребрами графа посредством процесса, называемого передачей сообщений. В частности, основные принципы GNN включают в себя следующие шаги:

  1. Передача сообщений:Каждый узел получает информацию от своих соседних узлов.。
  2. Агрегация:Объединить полученную информацию о соседнем узле,Обычно используются такие операции, как сумма, среднее или максимум.
  3. Обновление статуса (Обновление):Обновить статус узла на основе агрегированной информации о соседях и собственной информации узла.。

Следующая диаграмма может быть использована для представления процесса передачи сообщений и агрегирования информации:

4. Базовая модель ГНС.

Базовая модель графовой нейронной сети распространяет и агрегирует информацию слой за слоем в многоуровневой сети посредством описанного выше процесса. Ниже приведены несколько основных моделей GNN:

  • Сверточная сеть графов (GCN):Используйте операции свертки для агрегирования информации на графиках.,Способен фиксировать структурные особенности локального графа.
  • Сеть внимания графов (GAT):Внедрить механизм внимания,Назначьте разные веса каждому соседнему узлу,Это обеспечивает более гибкое агрегирование информации.
  • Автоэнкодер графов:через кодировщик-Схема реализации структуры декодераданныесамостоятельное обучение。
  • Графы GAN:Использование генеративно-состязательных сетей в графовых структурахданные Генерировать и идентифицировать информацию об узлах и ребрах в。

Понимая эти модели, GNN можно лучше применять для обработки реальных данных с графовой структурой. Далее мы подробно представим эти основные графовые модели нейронных сетей и их приложения.


3. Модели нейронных сетей основного графа

В последние годы при разработке графовых нейронных сетей (GNN) появилось множество моделей, каждая из которых имеет свои уникальные преимущества и сценарии применения. Ниже приведены несколько основных моделей GNN, их основные принципы и примеры применения.

1. Сверточная сеть графов (GCN).

GCN использует операции свертки для агрегирования информации о данных структуры графа, что позволяет эффективно фиксировать особенности локальной структуры графа. Основная идея GCN — обновить представление узла посредством информации о его соседнем узле.

Формула прямого распространения GCN:

H^{(l+1)} = \sigma \left( D^{-\frac{1}{2}} A D^{-\frac{1}{2}} H^{(l)} W^{(l)} \right)

в,

H^{(l)}

Указывает на первый

l

Матрица признаков узла слоя,

A

представляет матрицу смежности,

D

представляет матрицу степеней,

W^{(l)}

Указывает на первый

l

Весовая матрица слоя,

\sigma(\cdot)

представляет собой функцию активации.

Вот простой пример кода GCN:

Язык кода:javascript
копировать
import torch
import torch.nn as nn
import torch.nn.functional as F
import networkx as nx
from torch_geometric.datasets import Planetoid
from torch_geometric.nn import GCNConv

# Загрузка выпусков данных
dataset = Planetoid(root='/tmp/Cora', name='Cora')

class GCN(nn.Module):
    def __init__(self):
        super(GCN, self).__init__()
        self.conv1 = GCNConv(dataset.num_node_features, 16)
        self.conv2 = GCNConv(16, dataset.num_classes)

    def forward(self, data):
        x, edge_index = data.x, data.edge_index
        x = self.conv1(x, edge_index)
        x = F.relu(x)
        x = F.dropout(x, training=self.training)
        x = self.conv2(x, edge_index)
        return F.log_softmax(x, dim=1)

# Модель Обучение и оценочный код немного
2. Сеть внимания графов (GAT)

GAT представляет механизм внимания для присвоения разных весов каждому соседнему узлу, тем самым обеспечивая более гибкое агрегирование информации. Механизм внимания позволяет модели обновлять представление узлов в зависимости от важности соседних узлов.

Основная идея GAT — вычисление веса соседних узлов посредством механизма внимания:

e_{ij} = \text{LeakyReLU}(\mathbf{a}^T [\mathbf{W} \mathbf{h}_i \parallel \mathbf{W} \mathbf{h}_j])
\alpha_{ij} = \frac{\exp(e_{ij})}{\sum_{k \in N_i} \exp(e_{ik})}

Вот простой пример кода GAT:

Язык кода:javascript
копировать
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch_geometric.datasets import Planetoid
from torch_geometric.nn import GATConv

# Загрузка выпусков данных
dataset = Planetoid(root='/tmp/Cora', name='Cora')

class GAT(nn.Module):
    def __init__(self):
        super(GAT, self).__init__()
        self.conv1 = GATConv(dataset.num_node_features, 8, heads=8, dropout=0.6)
        self.conv2 = GATConv(8*8, dataset.num_classes, heads=1, concat=True, dropout=0.6)

    def forward(self, data):
        x, edge_index = data.x, data.edge_index
        x = F.dropout(x, p=0.6, training=self.training)
        x = self.conv1(x, edge_index)
        x = F.elu(x)
        x = F.dropout(x, p=0.6, training=self.training)
        x = self.conv2(x, edge_index)
        return F.log_softmax(x, dim=1)

# Модель Обучение и оценочный код немного
3. Автоэнкодер графа

Автокодировщики графов реализуют самоконтролируемое обучение данных графа через структуру кодировщика-декодера и в основном используются для реконструкции графов и обучения представлению.

Вот простой пример кода автоэнкодера графа:

Язык кода:javascript
копировать
import torch
import torch.nn.functional as F
from torch_geometric.nn import GCNConv

class GAE(nn.Module):
    def __init__(self, in_channels, out_channels):
        super(GAE, self).__init__()
        self.conv1 = GCNConv(in_channels, 2 * out_channels)
        self.conv2 = GCNConv(2 * out_channels, out_channels)

    def encode(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        return self.conv2(x, edge_index)

    def decode(self, z, edge_index):
        return torch.sigmoid((z[edge_index[0]] * z[edge_index[1]]).sum(dim=1))

    def forward(self, data):
        z = self.encode(data.x, data.edge_index)
        return self.decode(z, data.edge_index)

# Модель Обучение и оценочный код немного
4. Графы GAN

Граф-состязательные сети используют структуру генеративно-состязательных сетей (GAN) для обработки данных с графовой структурой и создания высококачественных представлений графовых данных.

Вот простой пример кода состязательной сети на графе:

Язык кода:javascript
копировать
import torch
import torch.nn as nn
import torch.optim as optim
from torch_geometric.datasets import Planetoid
from torch_geometric.nn import GCNConv

class Generator(nn.Module):
    def __init__(self, in_channels, out_channels):
        super(Generator, self).__init__()
        self.conv1 = GCNConv(in_channels, 2 * out_channels)
        self.conv2 = GCNConv(2 * out_channels, out_channels)

    def forward(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        return self.conv2(x, edge_index)

class Discriminator(nn.Module):
    def __init__(self, in_channels):
        super(Discriminator, self).__init__()
        self.conv = GCNConv(in_channels, 1)

    def forward(self, x, edge_index):
        return torch.sigmoid(self.conv(x, edge_index))

# Модель Обучение и оценочный код немного

С помощью этих моделей можно выбрать подходящие нейронные сети на графах в различных сценариях применения для достижения эффективной обработки и анализа данных с графовой структурой. В практических приложениях обычно необходимо корректировать и оптимизировать модель на основе конкретных характеристик данных и требований задачи.


4. Сценарии применения графовой нейронной сети

Графовая нейронная сеть (GNN) имеет широкое применение во многих областях благодаря своим мощным возможностям моделирования и гибкости. Ниже приведены несколько основных сценариев применения и их конкретные случаи:

1. Анализ социальных сетей

В социальных сетях отношения между пользователями естественным образом могут быть представлены в виде графовых структур. GNN имеет важные применения в следующих аспектах:

  • Рекомендации пользователя:Фиксируя отношения и модели поведения между пользователями.,GNN может предсказывать интересы пользователей,Рекомендуйте друзей или контент, который может вас заинтересовать. Например,Pinterest использует PinSage, модель на основе GCN, для рекомендаций по контенту.

Пример кода (на примере PinSage):

Язык кода:javascript
копировать
import torch
import torch.nn.functional as F
from torch_geometric.nn import GCNConv

class PinSage(torch.nn.Module):
    def __init__(self, in_channels, out_channels):
        super(PinSage, self).__init__()
        self.conv1 = GCNConv(in_channels, out_channels)
        self.conv2 = GCNConv(out_channels, out_channels)

    def forward(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        x = self.conv2(x, edge_index)
        return F.log_softmax(x, dim=1)

# загрузка данных и код обучения модели немного
  • обнаружение сообщества:GNNМожет эффективно идентифицировать структуры сообщества в социальных сетях.,Группируйте похожих пользователей. Например,Twitter использует GNN для обнаружения и анализа сообществ, представляющих интерес в сети.

Пример кода (обнаружение сообщества):

Язык кода:javascript
копировать
import torch
import torch.nn as nn
import torch_geometric.nn as pyg_nn

class CommunityDetectionGNN(nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels):
        super(CommunityDetectionGNN, self).__init__()
        self.conv1 = pyg_nn.GCNConv(in_channels, hidden_channels)
        self.conv2 = pyg_nn.GCNConv(hidden_channels, out_channels)

    def forward(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        x = self.conv2(x, edge_index)
        return F.log_softmax(x, dim=1)

# загрузка данных и код обучения модели немного
2. Биоинформатика

В биоинформатике существует большое количество данных о структуре графов, таких как сети взаимодействия генов и белков, диаграммы структуры белков и т. д. GNN хорошо работает в следующих аспектах:

  • Прогнозирование белок-белкового взаимодействия:Путем моделирования сетей взаимодействия между белками,GNN может предсказывать неизведанные белковые взаимодействия,Помогите раскрыть механизмы биологических процессов.

Пример кода (предсказание взаимодействия белков):

Язык кода:javascript
копировать
import torch
import torch.nn as nn
from torch_geometric.nn import GCNConv

class ProteinInteractionGNN(nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels):
        super(ProteinInteractionGNN, self).__init__()
        self.conv1 = GCNConv(in_channels, hidden_channels)
        self.conv2 = GCNConv(hidden_channels, out_channels)

    def forward(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        x = self.conv2(x, edge_index)
        return torch.sigmoid(x)

# загрузка данных и код обучения модели немного
  • открытие лекарств:GNNМожет использоваться для анализа структуры сложных молекул.,Прогнозировать его биологическую активность,тем самым ускоряя открытие новых лекарств. Например,GraphDTA использует GNN для прогнозирования сродства связывания лекарственного средства с мишенью.

Пример кода (обнаружение лекарства):

Язык кода:javascript
копировать
import torch
import torch.nn as nn
from torch_geometric.nn import GCNConv

class DrugTargetGNN(nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels):
        super(DrugTargetGNN, self).__init__()
        self.conv1 = GCNConv(in_channels, hidden_channels)
        self.conv2 = GCNConv(hidden_channels, out_channels)

    def forward(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        x = self.conv2(x, edge_index)
        return torch.sigmoid(x)

# загрузка данных и код обучения модели немного
3. Химическая молекулярная схема.

Химические молекулы можно представить в виде графовых структур, где узлы представляют собой атомы, а ребра представляют собой химические связи. GNN имеет важные применения в следующих аспектах:

  • Прогнозирование молекулярных свойств:Путем моделирования графовой структуры молекул,GNN может предсказывать физические и химические свойства молекул,Такие как растворимость, стабильность и т. д. Это особенно важно в материаловедении и разработке лекарств. Например,ChemProp использует GCN для прогнозирования различных свойств молекул.

Пример кода (предсказание молекулярных свойств):

Язык кода:javascript
копировать
import torch
import torch.nn as nn
from torch_geometric.nn import GCNConv

class MolecularPropertyGNN(nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels):
        super(MolecularPropertyGNN, self).__init__()
        self.conv1 = GCNConv(in_channels, hidden_channels)
        self.conv2 = GCNConv(hidden_channels, out_channels)

    def forward(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        x = self.conv2(x, edge_index)
        return x

# загрузка данных и код обучения модели немного
  • Исследования и разработки новых лекарств:Анализируя молекулярную структуру,GNN могут генерировать новые молекулы с особыми свойствами,Помогите химикам разработать новые лекарства.

Пример кода (исследования и разработки новых лекарств):

Язык кода:javascript
копировать
import torch
import torch.nn as nn
from torch_geometric.nn import GCNConv

class DrugDiscoveryGNN(nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels):
        super(DrugDiscoveryGNN, self).__init__()
        self.conv1 = GCNConv(in_channels, hidden_channels)
        self.conv2 = GCNConv(hidden_channels, out_channels)

    def forward(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        x = self.conv2(x, edge_index)
        return x

# загрузка данных и код обучения модели немного
4. Транспортная сеть

В транспортных системах дорожные сети могут быть представлены в виде графовых структур, где узлы представляют перекрестки, а ребра представляют дороги. GNN имеет перспективы применения в следующих аспектах:

  • Оптимизация пути:Анализируя графовую структуру транспортной сети,GNN может оптимизировать выбор пути,Повышение эффективности перевозок.

Пример кода (оптимизация пути):

Язык кода:javascript
копировать
import torch
import torch.nn as nn
from torch_geometric.nn import GCNConv

class TrafficPathOptimizationGNN(nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels):
        super(TrafficPathOptimizationGNN, self).__init__()
        self.conv1 = GCNConv(in_channels, hidden_channels)
        self.conv2 = GCNConv(hidden_channels, out_channels)

    def forward(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        x = self.conv2(x, edge_index)
        return x

# загрузка данных и код обучения модели немного
  • прогноз транспортных потоков:GNNИсторический трафик можно смоделировать с помощьюданные,Прогнозирование будущего трафика,Помогите дорожным властям принимать более обоснованные решения. Например,ST-GCNиспользоватьGNNвыполнятьпрогноз транспортных поток, эффект замечательный.

Пример кода (прогнозирование потока трафика):

Язык кода:javascript
копировать
import torch
import torch.nn as nn
from torch_geometric.nn import GCNConv

class TrafficFlowPredictionGNN(nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels):
        super(TrafficFlowPredictionGNN, self).__init__()
        self.conv1 = GCNConv(in_channels, hidden_channels)
        self.conv2 = GCNConv(hidden_channels, out_channels)

    def forward(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        x = self.conv2(x, edge_index)
        return x

# загрузка данных и код обучения модели немного
5. Обработка естественного языка

В области обработки естественного языка (НЛП) текстовые данные могут быть представлены в виде графовой структуры, такой как отношения между предложениями, зависимости между словами и т. д. GNN широко используется в следующих аспектах:

  • Моделирование отношений предложений:Моделируя отношения между предложениями,GNN может улучшить производительность вопросно-ответных систем и классификации текста. Например,Text GCN использует GCN для классификации документов.

Пример кода (моделирование отношений предложений):

Язык кода:javascript
копировать
import torch
import torch.nn as nn
from torch_geometric.nn import GCNConv

class TextGCN(nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels):
        super(TextGCN, self).__init__()
        self.conv1 = GCNConv(in_channels, hidden_channels)
        self.conv2 = GCNConv(hidden_channels, out_channels)

    def forward(self, x, edge_index):
        x = F.relu(self.conv1(x, edge_index))
        x = self.conv2(x, edge_index)
        return F.log_softmax(x, dim=1)

# загрузка данных и код обучения модели немного
  • График знаний:GNNМожет использоваться для обработки и рассуждения График Информация в знаниях, улучшение Графика Полнота и точность знаний. Например, R-GCN использует GNN для рассуждений о Графике. Отношения сущностей в знаниях.

Пример кода (рассуждение о графе знаний):

Язык кода:javascript
копировать
import torch
import torch.nn as nn
from torch_geometric.nn import RGCNConv

class KnowledgeGraphGNN(nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels, num_relations):
        super(KnowledgeGraphGNN, self).__init__()
        self.conv1 = RGCNConv(in_channels, hidden_channels, num_relations)
        self.conv2 = RGCNConv(hidden_channels, out_channels, num_relations)

    def forward(self, x, edge_index, edge_type):
        x = F.relu(self.conv1(x, edge_index, edge_type))
        x = self.conv2(x, edge_index, edge_type)
        return F.log_softmax(x, dim=1)

# загрузка данных и код обучения модели немного

Эти случаи демонстрируют широкое применение и огромный потенциал графовых нейронных сетей в различных областях. Объединив знания предметной области и передовые технологии графовых нейронных сетей, можно добиться дальнейшего прогресса в исследованиях и приложениях в различных областях.


5. Резюме

Графовая нейронная сеть (GNN) продемонстрировала большой потенциал и широкое применение во многих областях благодаря своим мощным возможностям моделирования и гибкости. При анализе социальных сетей GNN может давать точные рекомендации пользователям и выявлять сообщества на основе отношений и моделей поведения между пользователями, что значительно улучшает пользовательский опыт социальных платформ. В области биоинформатики GNN способствует прогнозированию белок-белковых взаимодействий и открытию новых лекарств путем моделирования сетей взаимодействия генов и белков и диаграмм структур белков, а также способствует прогрессу наук о жизни. Моделирование химических молекулярных графов делает GNN превосходным инструментом для прогнозирования молекулярных свойств и разработки новых лекарств, помогая ученым ускорить процесс материаловедения и разработки лекарств. В транспортной сети GNN оптимизирует выбор маршрута и прогнозирование транспортных потоков путем анализа транспортной сети, повышая эффективность и безопасность транспортной системы. В области обработки естественного языка GNN повышает производительность классификации текста, систем ответов на вопросы и рассуждений на основе графов знаний за счет моделирования взаимосвязей между предложениями и обработки графов знаний.

Эти случаи применения не только демонстрируют широкую применимость и огромный потенциал GNN в различных областях, но также отражают уникальные преимущества GNN при обработке сложных данных с графовой структурой. Ожидается, что в будущем, по мере углубления исследований и развития технологий, графовые нейронные сети окажут глубокое влияние во многих областях и предоставят мощный инструмент для решения сложных реальных задач. Благодаря постоянному исследованию и оптимизации моделей GNN будут и дальше способствовать инновациям и прогрессу в различных областях.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose