Maison > Périphériques technologiques > IA > le corps du texte

Tendances et comparaisons des bibliothèques d'apprentissage automatique Python populaires

WBOY
Libérer: 2023-04-12 23:52:12
avant
1125 Les gens l'ont consulté

Python est l'un des langages de programmation les plus populaires au monde, avec un nombre croissant de bibliothèques et de frameworks. Découvrez les dernières.

Tendances et comparaisons des bibliothèques d'apprentissage automatique Python populaires

Python est l'un des langages de programmation les plus populaires au monde, avec un nombre croissant de bibliothèques et de frameworks pour faciliter le développement de l'IA et du ML. Il existe plus de 250 bibliothèques dans Python, et il peut être un peu déroutant de savoir quelle bibliothèque convient le mieux à votre projet et de suivre les changements techniques et les tendances qui les accompagnent tous.

Voici les bibliothèques d'apprentissage automatique Python populaires que j'ai utilisées. J'ai fait de mon mieux pour les classer en fonction des scénarios dans lesquels ils sont utilisés. Il existe de nombreuses bibliothèques en plus de celles-ci mais je ne peux pas parler de celles que je n'ai pas utilisées, je pense que ce sont les plus utilisées.

NumPy

NumPy est un package de traitement de tableaux à usage général bien connu qui est différent des autres packages d'apprentissage automatique. Pour les tableaux à n dimensions (vecteurs, matrices et matrices d'ordre supérieur), NumPy fournit une prise en charge hautes performances (compilée nativement) et une prise en charge d'une variété d'opérations. Il prend en charge les opérations vectorisées, en particulier la conversion des expressions Python en répartition de code de bas niveau, en boucle implicitement sur différents sous-ensembles de données.

Fonction NumPy

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

Les paramètres de démarrage et d'arrêt de la fonction sont obligatoires et ils renvoient des valeurs ​​sont répartis uniformément sur un intervalle de temps prédéterminé.

  • numpy.repeat

Utilisez la méthode numpy.repeat(a, repeats, axis=None) pour répéter les éléments du tableau. La deuxième entrée répète le nombre de fois spécifié.

  • numpy.random.randint

La fonction numpy.random.randint(low, high=None, size=None, dtype='l') renvoie un entier aléatoire de [low, high]. Si le paramètre haut n'existe pas (Aucun), un nombre aléatoire est choisi dans la plage [0, bas].

Pourquoi Numpy est-il si populaire ?

En bref, le code C optimisé et précompilé de NumPy peut gérer tout le gros du travail, ce qui le rend plus rapide que les tableaux Python standard.

NumPy rend de nombreux programmes mathématiques fréquemment utilisés en calcul scientifique rapides et faciles à utiliser.

Pandas

Pandas devient rapidement la bibliothèque d'analyse de données Python la plus utilisée car elle prend en charge des structures de données rapides, adaptables et expressives pour travailler avec des données « relationnelles » et « balisées ». Il existe des problèmes pratiques et réels d'analyse de données Python qui nécessitent Pandas. Pandas offre des performances parfaitement optimisées et hautement fiables. Seuls C ou Python sont utilisés pour écrire uniquement du code backend.

Quelques fonctions Pandas

pd.read_csv, pd.read_excel

La première fonction à mentionner est read_csv ou read_excel. Des explications claires ont été fournies pour ces fonctions. Je les utilise pour lire des données à partir de fichiers CSV ou Excel au format pandas DataFrame. La fonction

df = pd.read_csv("PlayerStat.csv")
Copier après la connexion

.read csv() peut également lire les fichiers .txt en utilisant la syntaxe suivante :

data = pd.read_csv(file.txt, sep=" ")
Copier après la connexion
  • df.query()

Les expressions booléennes peuvent filtrer ou interroger des données. Je peux appliquer les critères de filtre sous forme de chaîne à l'aide d'une fonction de requête. Il offre plus de liberté que de nombreux autres programmes.

df.query("A > 4")
Copier après la connexion

Renvoyer uniquement les lignes où A est supérieur à 4.

  • df.iloc()

Je passe l'index de ligne et de colonne comme arguments à la fonction, qui renvoie le sous-ensemble approprié du DataFrame.

  • df[‘’].dtypes

Une autre fonctionnalité très basique et populaire. Avant de commencer toute analyse, visualisation ou modélisation prédictive, vous devez connaître le type de données de vos variables. En utilisant cette technique, vous pouvez obtenir le type de données de chaque colonne.

  • df.dtypes

Pandas vs Vaex

Vaex Python est une alternative à la bibliothèque Pandas qui utilise Out of Core Dataframe pour calculer plus rapidement de grandes quantités de données. Pour visualiser et étudier de grands ensembles de données tabulaires, Vaex est un module Python hautes performances pour les trames de données paresseuses hors noyau (similaire à Pandas). Plus d'un milliard de lignes peuvent être calculées par seconde à l'aide de statistiques simples. Il prend en charge une variété de visualisations, permettant une exploration interactive approfondie des données.

TensorFlow

TensorFlow est une bibliothèque Python pour des calculs numériques rapides créée et publiée par Google. Tensorflow utilise un langage et des noms de fonctions différents de ceux de Theano, ce qui peut rendre le passage de Theano plus compliqué qu'il ne devrait l'être. Cependant, l'ensemble du graphe informatique de Tensorflow fonctionne de manière similaire à celui de Theano, avec les mêmes avantages et inconvénients. Même si les modifications apportées au graphe informatique ont un impact significatif sur les performances, la fonction d'évaluation de Tensorflow ne facilite que légèrement l'observation des états intermédiaires. Tensorflow est la technologie d'apprentissage profond préférée par rapport à Theano et Caffe il y a quelques années.

Fonction intégrée TensorFlow

  • tf.zeros_like

La sortie de cette fonction est un tenseur du même type et de la même forme que le tenseur d'entrée mais avec une valeur de zéro.

tensor = tf.constant( I[1, 2, 3], [4, 5, 6]])
tf.zeros_like( tensor) # [ [0, 0, 0], [0, 0,0]
Copier après la connexion

Cette fonctionnalité peut être utile lors de la création d'une image noire à partir d'une image d'entrée. Si vous souhaitez définir directement le formulaire, utilisez tf.zeros. Si vous préférez initialiser avec 1 au lieu de 0, utilisez tf.ones_like.

  • tfpad

Augmente la dimension d'un tenseur en ajoutant un remplissage spécifié autour de lui avec une valeur constante.

  • tf.enable_eager_execution

这可以在您运行 TensorFlow 应用程序时帮助您。使用 Eager Execution 时,您不需要在会话中构建和运行图。这是有关急切执行的更多信息。

“Eager execution”必须是导入 TensorFlow 后的第一条语句。

TensorFlow 与 PyTorch

Torch 的 Python 实现 Pytorch 得到 Facebook 的支持。它通过提供即时图形编译与上述技术竞争,通过不将图形视为不同和不透明的对象,使 Pytorch 代码与周围的 Python 更加兼容。相反,有许多灵活的技术可以即时构建张量计算。此外,它表现良好。它具有强大的多 GPU 能力,很像 Tensorflow;然而,Tensorflow 仍然适用于更大规模的分布式系统。虽然 Pytorch 的 API 文档齐全,但 Tensorflow 或 Keras 的 API 更加完善。然而,Pytorch 在不影响性能的情况下在灵活性和可用性方面取得了胜利,这无疑迫使 Tensorflow 重新思考和调整。Tensorflow 最近受到 Pytorch 的严重挑战,

Keras

Keras 是一个开源软件库,为人工神经网络提供 Python 接口。由于 Keras 名义上是独立于引擎的,所以理论上 Keras 代码可以被重用,即使引擎需要因性能或其他因素而改变。它的缺点是,当您希望创建非常新颖或专业的架构时,通常需要在 Keras 层下使用 Tensorflow 或 Theano。这主要发生在您需要使用复杂的 NumPy 索引时,这对应于 Tensorflow 中的聚集/分散和 Theano 中的 set/inc 子张量。

Keras 函数

  • 评估与预测

在 Keras 中,evaluate() 和 predict() 都可用。这些技术可以利用 NumPy 数据集。当数据经过测试后,我完成了对结果的评估。我使用这些技术来评估我们的模型。

  • Keras 中的图层

每个 Keras 层都包含许多技术。这些层有助于构建、配置和训练数据。密集层有助于操作实现。我使用 flat 展平了输入。Dropout 启用输入丢失。我可以使用重塑工具重塑输出。我使用输入启动了一个 Keras 张量。

您可以获得中间层的输出。

一个相当简单的库是 Keras。它使得从层的中间层获取输出成为可能。您可以轻松地向现有层添加一个新层,以帮助您在中间获得输出。

Theano

Theano 是一个 Python 库和优化编译器,用于操作和评估数学表达式,尤其是矩阵值表达式。作为最古老和最成熟的,为 Theano 提供了优势和劣势。大多数用户请求的功能都已添加,因为它是旧版本。但是,其中一些实现有点过于复杂且难以使用,因为没有先例可循。该文档是可以通过但模棱两可的。由于没有简单的方法来检查中间计算,因此在 Theano 中让复杂的项目正常运行可能非常具有挑战性。他们通常使用调试器或通过查看计算图来进行调试。

Theano 函数

  • 声明变量

我用 dscalar 方法声明了一个十进制标量变量。当下面的语句运行时,它会在您的程序代码中添加一个名为 C 的变量。

C = tensor.dscalar()
Copier après la connexion
  • 定义 Theano 函数

该函数接受两个参数,第一个是输入,第二个是函数的输出。根据下面的声明,第一个参数是一个包含 C 和 D 两项的数组。结果是一个标量单位,指定为 E。

f = theano.function([C,D], E)
Copier après la connexion

结论

我见过一个高技能的 Python 程序员迅速掌握新库的精妙之处并了解如何使用它。但是,无论是初学者、中级还是专家,选择一种编程语言还是在这种情况下选择一个库而不是另一个库,很大程度上取决于您项目的目标和需求。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal