Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Permulaan Pantas: Gambaran Keseluruhan Perpustakaan Kecerdasan Buatan Python

Permulaan Pantas: Gambaran Keseluruhan Perpustakaan Kecerdasan Buatan Python

WBOY
WBOYasal
2023-12-23 08:10:051206semak imbas

Permulaan Pantas: Gambaran Keseluruhan Perpustakaan Kecerdasan Buatan Python

Permulaan Pantas: Gambaran keseluruhan perpustakaan kecerdasan buatan Python, contoh kod khusus diperlukan

Pengenalan:
Dengan perkembangan pesat teknologi kecerdasan buatan, terdapat semakin banyak perpustakaan kecerdasan buatan Python yang digunakan untuk pembelajaran mesin dan pembelajaran mendalam. Perpustakaan ini menyediakan pelbagai alatan dan algoritma yang berkuasa, memudahkan pembangun membina dan melatih model kecerdasan buatan mereka sendiri. Artikel ini akan memperkenalkan beberapa perpustakaan kecerdasan buatan Python yang biasa digunakan dan menyediakan contoh kod khusus untuk membantu pembaca bermula dengan cepat.

1. TensorFlow
TensorFlow ialah perpustakaan pembelajaran mesin sumber terbuka yang dibangunkan oleh Google dan digunakan secara meluas dalam bidang pembelajaran mendalam. Ia menyediakan API peringkat tinggi yang kaya dan menyokong pelbagai struktur rangkaian, seperti rangkaian saraf konvolusi (CNN), rangkaian saraf berulang (RNN), dll. Berikut ialah contoh penggunaan TensorFlow untuk klasifikasi imej:

import tensorflow as tf
from tensorflow import keras

# 加载数据集
(x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data()

# 数据预处理
x_train = x_train / 255.0
x_test = x_test / 255.0

# 构建模型
model = keras.models.Sequential([
    keras.layers.Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
    keras.layers.MaxPooling2D((2, 2)),
    keras.layers.Flatten(),
    keras.layers.Dense(10, activation='softmax')
])

# 编译模型
model.compile(optimizer='adam',
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
              metrics=['accuracy'])

# 训练模型
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))

# 评估模型
test_loss, test_acc = model.evaluate(x_test, y_test, verbose=2)
print('
Test accuracy:', test_acc)

2. PyTorch
PyTorch ialah perpustakaan pembelajaran mendalam sumber terbuka yang dibangunkan oleh Facebook, yang mempunyai ciri-ciri graf pengiraan dinamik dan pembezaan automatik. Berikut ialah contoh penggunaan PyTorch untuk klasifikasi imej:

import torch
import torchvision
from torchvision import datasets, transforms
import torch.nn as nn
import torch.optim as optim

# 定义数据转换
transform = transforms.Compose(
    [transforms.ToTensor(),
     transforms.Normalize((0.5,), (0.5,))])

# 加载数据集
trainset = datasets.MNIST(root='./data', train=True,
                            download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=64,
                                          shuffle=True, num_workers=2)

testset = datasets.MNIST(root='./data', train=False,
                           download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=64,
                                         shuffle=False, num_workers=2)

# 定义模型
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv1 = nn.Conv2d(1, 6, 5)
        self.pool = nn.MaxPool2d(2, 2)
        self.conv2 = nn.Conv2d(6, 16, 5)
        self.fc1 = nn.Linear(16 * 4 * 4, 120)
        self.fc2 = nn.Linear(120, 84)
        self.fc3 = nn.Linear(84, 10)

    def forward(self, x):
        x = self.pool(F.relu(self.conv1(x)))
        x = self.pool(F.relu(self.conv2(x)))
        x = x.view(-1, 16 * 4 * 4)
        x = F.relu(self.fc1(x))
        x = F.relu(self.fc2(x))
        x = self.fc3(x)
        return x

# 实例化模型
net = Net()

# 定义损失函数和优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)

# 训练模型
for epoch in range(10):  
    running_loss = 0.0
    for i, data in enumerate(trainloader, 0):
        inputs, labels = data

        optimizer.zero_grad()

        outputs = net(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()

        running_loss += loss.item()
        if i % 2000 == 1999:    
            print('[%d, %5d] loss: %.3f' %
                  (epoch + 1, i + 1, running_loss / 2000))
            running_loss = 0.0

# 测试模型
correct = 0
total = 0
with torch.no_grad():
    for data in testloader:
        images, labels = data
        outputs = net(images)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()

print('Accuracy of the network on the 10000 test images: %d %%' % (
    100 * correct / total))

Kesimpulan:
Artikel ini memperkenalkan dua perpustakaan kecerdasan buatan Python yang biasa digunakan, TensorFlow dan PyTorch, dan menyediakan contoh kod khusus untuk membantu pembaca bermula dengan cepat. Sudah tentu, sebagai tambahan kepada dua perpustakaan ini, terdapat banyak lagi perpustakaan kecerdasan buatan Python yang sangat baik, seperti Keras, Scikit-learn, dll. Pembaca boleh memilih perpustakaan yang sesuai untuk mereka untuk pembelajaran dan aplikasi mengikut keperluan mereka sendiri. Saya berharap artikel ini dapat membantu pembaca dalam pembelajaran dan amalan mereka dalam bidang kecerdasan buatan.

Atas ialah kandungan terperinci Permulaan Pantas: Gambaran Keseluruhan Perpustakaan Kecerdasan Buatan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn