TensorFlow .NET (Comment ça fonctionne pour les développeurs)
L'apprentissage automatique (ML) a révolutionné diverses industries, de la santé à la finance, en permettant une prise de décision intelligente et une automatisation. TensorFlow, le cadre open-source de ML et d'apprentissage profond de Google, a été à la pointe de cette révolution. Avec TensorFlow.NET, les développeurs .NET peuvent exploiter la puissance de TensorFlow au sein de l'écosystème C#. Dans cet article, nous explorerons TensorFlow.NET, ses caractéristiques, ses avantages et ses applications pratiques dans le développement C#. Nous allons également découvrir une bibliothèque de génération de PDF appelée IronPDF à partir de Iron Software avec un exemple pratique.
Comprendre TensorFlow.NET
TensorFlow.NET est une liaison .NET pour TensorFlow, permettant aux développeurs d'utiliser les fonctionnalités de TensorFlow directement dans les couches d'application C# et .NET . Développé par la communauté et maintenu par l'organisation SciSharp, TensorFlow.NET offre une intégration transparente des capacités d'apprentissage automatique et de réseaux neuronaux de TensorFlow avec la polyvalence de la plateforme .NET . Il permet aux développeurs C# de construire des réseaux neuronaux, d'entraîner des modèles et de déployer des modèles ML en utilisant les API système et les outils étendus de TensorFlow.
Fonctionnalités clés de TensorFlow.NET
- Compatibilité TensorFlow :
TensorFlow.NEToffre une compatibilité totale avec les API et les opérations de TensorFlow, y compris la manipulation de tenseurs, les couches de réseaux neuronaux, les fonctions de perte, les optimiseurs et les utilitaires de prétraitement et d'évaluation des données. - Haute performance :
TensorFlow.NETtire parti du moteur d'exécution de graphes de calcul efficace de TensorFlow et des noyaux optimisés pour fournir une inférence et un entraînement d'apprentissage automatique haute performance sur les CPU et les GPU. - Intégration facile :
TensorFlow.NETs'intègre parfaitement aux applications et bibliothèques .NET existantes, permettant aux développeurs de tirer parti des capacités de TensorFlow sans quitter l'environnement de développement C# familier. - Portabilité du modèle :
TensorFlow.NETpermet aux développeurs d'importer des modèles TensorFlow pré-entraînés et d'exporter des modèles entraînés pour l'inférence dans d'autres environnements basés sur TensorFlow, tels que Python ou les appareils mobiles. - Flexibilité et extensibilité :
TensorFlow.NEToffre une flexibilité pour personnaliser et étendre les modèles d'apprentissage automatique en utilisant les fonctionnalités du langage C#, telles que LINQ (Language Integrated Query) pour la manipulation des données et les paradigmes de programmation fonctionnelle pour la composition des modèles. - Support communautaire et documentation :
TensorFlow.NETbénéficie d'une communauté active de contributeurs qui fournissent de la documentation, des tutoriels et des exemples pour aider les développeurs à démarrer avec l'apprentissage automatique dans le monde C# en utilisant TensorFlow.
Exemples pratiques avec TensorFlow.NET
Explorons quelques scénarios pratiques où TensorFlow.NET peut être utilisé pour créer et déployer des modèles d'apprentissage automatique en C# :
-
Chargement et utilisation des modèles pré-entraînés :
// Load a pre-trained TensorFlow model var model = TensorFlowModel.LoadModel("model.pb"); // Perform inference on input data var input = new float[,] { { 1.0f, 2.0f, 3.0f } }; var output = model.Predict(input);// Load a pre-trained TensorFlow model var model = TensorFlowModel.LoadModel("model.pb"); // Perform inference on input data var input = new float[,] { { 1.0f, 2.0f, 3.0f } }; var output = model.Predict(input);' Load a pre-trained TensorFlow model Dim model = TensorFlowModel.LoadModel("model.pb") ' Perform inference on input data Dim input = New Single(, ) { { 1.0F, 2.0F, 3.0F } } Dim output = model.Predict(input)$vbLabelText $csharpLabel -
Entraînement de modèles personnalisés :
// Create a neural network model using TensorFlow.NET APIs var input = new Input(Shape.Scalar); var output = new Dense(1, Activation.ReLU).Forward(input); // Compile the model with loss function and optimizer algorithms var model = new Model(input, output); model.Compile(optimizer: new SGD(), loss: Losses.MeanSquaredError); // Train the model with training data model.Fit(x_train, y_train, epochs: 10, batchSize: 32);// Create a neural network model using TensorFlow.NET APIs var input = new Input(Shape.Scalar); var output = new Dense(1, Activation.ReLU).Forward(input); // Compile the model with loss function and optimizer algorithms var model = new Model(input, output); model.Compile(optimizer: new SGD(), loss: Losses.MeanSquaredError); // Train the model with training data model.Fit(x_train, y_train, epochs: 10, batchSize: 32);' Create a neural network model using TensorFlow.NET APIs Dim input As New Input(Shape.Scalar) Dim output = (New Dense(1, Activation.ReLU)).Forward(input) ' Compile the model with loss function and optimizer algorithms Dim model As New Model(input, output) model.Compile(optimizer:= New SGD(), loss:= Losses.MeanSquaredError) ' Train the model with training data model.Fit(x_train, y_train, epochs:= 10, batchSize:= 32)$vbLabelText $csharpLabel -
Évaluation et déploiement :
// Evaluate the trained model on test data var evaluation = model.Evaluate(x_test, y_test); // Export the trained model for deployment model.SaveModel("trained_model.pb");// Evaluate the trained model on test data var evaluation = model.Evaluate(x_test, y_test); // Export the trained model for deployment model.SaveModel("trained_model.pb");' Evaluate the trained model on test data Dim evaluation = model.Evaluate(x_test, y_test) ' Export the trained model for deployment model.SaveModel("trained_model.pb")$vbLabelText $csharpLabel
Plus d'exemples de TensorFlow peuvent être trouvés sur la page des Exemples TensorFlow.NET.
// Use static TensorFlow
using static Tensorflow.Binding;
namespace IronPdfDemos
{
public class TensorFlow
{
public static void Execute()
{
// Create a TensorFlow constant
var hello = tf.constant("Hello, TensorFlow!");
Console.WriteLine(hello);
}
}
}
// Use static TensorFlow
using static Tensorflow.Binding;
namespace IronPdfDemos
{
public class TensorFlow
{
public static void Execute()
{
// Create a TensorFlow constant
var hello = tf.constant("Hello, TensorFlow!");
Console.WriteLine(hello);
}
}
}
' Use static TensorFlow
Imports Tensorflow.Binding
Namespace IronPdfDemos
Public Class TensorFlow
Public Shared Sub Execute()
' Create a TensorFlow constant
Dim hello = tf.constant("Hello, TensorFlow!")
Console.WriteLine(hello)
End Sub
End Class
End Namespace
Exemple de sortie Hello TensorFlow

Avantages de l'utilisation de TensorFlow.NET
- Intégration transparente :
TensorFlow.NETapporte la puissance de TensorFlow à l'écosystème .NET , permettant aux développeurs C# de tirer parti des techniques et algorithmes d'apprentissage automatique de pointe dans leurs applications. - Performance et évolutivité :
TensorFlow.NETtire parti du moteur d'exécution optimisé de TensorFlow pour fournir des calculs d'apprentissage automatique haute performance, ce qui le rend adapté à la gestion d'ensembles de données à grande échelle et de modèles complexes. - Environnement de développement familier :
TensorFlow.NETL'API permet aux développeurs de créer et de déployer des modèles d'apprentissage automatique en utilisant des fonctionnalités et des outils de développement familiers du langage C#, réduisant ainsi la courbe d'apprentissage pour l'adoption de l'apprentissage automatique dans les applications C#. - Interopérabilité et portabilité :
TensorFlow.NETfacilite l'interopérabilité avec d'autres environnements basés sur TensorFlow, permettant une intégration transparente des modèles d'apprentissage automatique basés sur C# avec Python, TensorFlow Serving et TensorFlow Lite. - Développement piloté par la communauté :
TensorFlow.NETbénéficie d'une communauté active de contributeurs et d'utilisateurs qui fournissent un soutien, des commentaires et des contributions au projet, assurant ainsi sa croissance et son amélioration continues.
Licence TensorFlow.NET
C'est un package open-source sous licence Apache qui peut être utilisé librement. En savoir plus sur la licence sur la page de la licence TensorFlow.NET.
Présentation d'IronPDF

IronPDF est une puissante bibliothèque PDF C# qui permet aux développeurs de créer, modifier et signer des PDF directement à partir d'entrées HTML, CSS, images et JavaScript . C'est une solution de qualité commerciale avec des performances élevées et une faible empreinte mémoire. Voici quelques caractéristiques clés :
- Conversion HTML vers PDF :
IronPDFpeut convertir les fichiers HTML, les chaînes HTML et les URL en PDF. Par exemple, vous pouvez rendre une page web sous forme de PDF en utilisant le moteur de rendu PDF Chrome. - Prise en charge multiplateforme :
IronPDFfonctionne sur diverses plateformes .NET , notamment .NET Core, .NET Standard et .NET Framework. Il est compatible avec Windows, Linux, et macOS. - Édition et signature : Vous pouvez définir des propriétés, ajouter des mesures de sécurité (mots de passe et autorisations) et même appliquer des signatures numériques à vos PDF.
- Modèles de page et paramètres : Personnalisez vos PDF en ajoutant des en-têtes, des pieds de page et des numéros de page, et en ajustant les marges.
IronPDFprend également en charge les mises en page réactives et les formats de papier personnalisés. - Conformité aux normes :
IronPDFadhère aux normes PDF telles que PDF/A et PDF/UA. Il prend en charge l'encodage de caractères UTF-8 et gère les actifs comme les images, CSS et polices.
Générer des documents PDF en utilisant TensorFlow.NET et IronPDF
Tout d'abord, créez un projet Visual Studio et sélectionnez le modèle Console App ci-dessous.

Fournissez le nom et l'emplacement du projet.

Sélectionnez la version .NET requise à l'étape suivante et cliquez sur le bouton Créer.
Installez IronPDF à partir du package NuGet via le gestionnaire de packages de Visual Studio.

Installez les packages TensorFlow.NET et TensorFlow.Keras, un package indépendant utilisé pour exécuter des modèles.

using IronPdf;
using static Tensorflow.Binding;
namespace IronPdfDemos
{
public class Program
{
public static void Main()
{
// Instantiate Cache and ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Prepare HTML content for the PDF
var content = "<h1>Demonstrate TensorFlow with IronPDF</h1>";
content += "<h2>Enable Eager Execution</h2>";
content += "<p>tf.enable_eager_execution();</p>";
// Enable eager execution mode in TensorFlow
tf.enable_eager_execution();
// Define tensor constants
content += "<h2>Define Tensor Constants</h2>";
var a = tf.constant(5);
var b = tf.constant(6);
var c = tf.constant(7);
// Perform various tensor operations
content += "<h2>Various Tensor Operations</h2>";
var add = tf.add(a, b);
var sub = tf.subtract(a, b);
var mul = tf.multiply(a, b);
var div = tf.divide(a, b);
content += $"<p>var add = tf.add(a, b);</p>";
content += $"<p>var sub = tf.subtract(a, b);</p>";
content += $"<p>var mul = tf.multiply(a, b);</p>";
content += $"<p>var div = tf.divide(a, b);</p>";
// Output tensor values to HTML content
content += "<h2>Access Tensor Values</h2>";
content += $"<p>{a.numpy()} + {b.numpy()} = {add.numpy()}</p>";
content += $"<p>{a.numpy()} - {b.numpy()} = {sub.numpy()}</p>";
content += $"<p>{a.numpy()} * {b.numpy()} = {mul.numpy()}</p>";
content += $"<p>{a.numpy()} / {b.numpy()} = {div.numpy()}</p>";
// Perform additional operations
var mean = tf.reduce_mean(tf.constant(new[] { a, b, c }));
var sum = tf.reduce_sum(tf.constant(new[] { a, b, c }));
content += "<h2>Additional Operations</h2>";
content += $"<p>mean = {mean.numpy()}</p>";
content += $"<p>sum = {sum.numpy()}</p>";
// Perform matrix multiplication
var matrix1 = tf.constant(new float[,] { { 1, 2 }, { 3, 4 } });
var matrix2 = tf.constant(new float[,] { { 5, 6 }, { 7, 8 } });
var product = tf.matmul(matrix1, matrix2);
content += "<h2>Matrix Multiplications</h2>";
content += "<p>Multiplication Result:</p>";
content += $"<p>product = {product.numpy()}</p>";
// Render HTML content to PDF
var pdf = renderer.RenderHtmlAsPdf(content);
// Save PDF to file
pdf.SaveAs("tensorflow.pdf");
}
}
}
using IronPdf;
using static Tensorflow.Binding;
namespace IronPdfDemos
{
public class Program
{
public static void Main()
{
// Instantiate Cache and ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Prepare HTML content for the PDF
var content = "<h1>Demonstrate TensorFlow with IronPDF</h1>";
content += "<h2>Enable Eager Execution</h2>";
content += "<p>tf.enable_eager_execution();</p>";
// Enable eager execution mode in TensorFlow
tf.enable_eager_execution();
// Define tensor constants
content += "<h2>Define Tensor Constants</h2>";
var a = tf.constant(5);
var b = tf.constant(6);
var c = tf.constant(7);
// Perform various tensor operations
content += "<h2>Various Tensor Operations</h2>";
var add = tf.add(a, b);
var sub = tf.subtract(a, b);
var mul = tf.multiply(a, b);
var div = tf.divide(a, b);
content += $"<p>var add = tf.add(a, b);</p>";
content += $"<p>var sub = tf.subtract(a, b);</p>";
content += $"<p>var mul = tf.multiply(a, b);</p>";
content += $"<p>var div = tf.divide(a, b);</p>";
// Output tensor values to HTML content
content += "<h2>Access Tensor Values</h2>";
content += $"<p>{a.numpy()} + {b.numpy()} = {add.numpy()}</p>";
content += $"<p>{a.numpy()} - {b.numpy()} = {sub.numpy()}</p>";
content += $"<p>{a.numpy()} * {b.numpy()} = {mul.numpy()}</p>";
content += $"<p>{a.numpy()} / {b.numpy()} = {div.numpy()}</p>";
// Perform additional operations
var mean = tf.reduce_mean(tf.constant(new[] { a, b, c }));
var sum = tf.reduce_sum(tf.constant(new[] { a, b, c }));
content += "<h2>Additional Operations</h2>";
content += $"<p>mean = {mean.numpy()}</p>";
content += $"<p>sum = {sum.numpy()}</p>";
// Perform matrix multiplication
var matrix1 = tf.constant(new float[,] { { 1, 2 }, { 3, 4 } });
var matrix2 = tf.constant(new float[,] { { 5, 6 }, { 7, 8 } });
var product = tf.matmul(matrix1, matrix2);
content += "<h2>Matrix Multiplications</h2>";
content += "<p>Multiplication Result:</p>";
content += $"<p>product = {product.numpy()}</p>";
// Render HTML content to PDF
var pdf = renderer.RenderHtmlAsPdf(content);
// Save PDF to file
pdf.SaveAs("tensorflow.pdf");
}
}
}
Imports IronPdf
Imports Tensorflow.Binding
Namespace IronPdfDemos
Public Class Program
Public Shared Sub Main()
' Instantiate Cache and ChromePdfRenderer
Dim renderer = New ChromePdfRenderer()
' Prepare HTML content for the PDF
Dim content = "<h1>Demonstrate TensorFlow with IronPDF</h1>"
content &= "<h2>Enable Eager Execution</h2>"
content &= "<p>tf.enable_eager_execution();</p>"
' Enable eager execution mode in TensorFlow
tf.enable_eager_execution()
' Define tensor constants
content &= "<h2>Define Tensor Constants</h2>"
Dim a = tf.constant(5)
Dim b = tf.constant(6)
Dim c = tf.constant(7)
' Perform various tensor operations
content &= "<h2>Various Tensor Operations</h2>"
Dim add = tf.add(a, b)
Dim [sub] = tf.subtract(a, b)
Dim mul = tf.multiply(a, b)
Dim div = tf.divide(a, b)
content &= $"<p>var add = tf.add(a, b);</p>"
content &= $"<p>var sub = tf.subtract(a, b);</p>"
content &= $"<p>var mul = tf.multiply(a, b);</p>"
content &= $"<p>var div = tf.divide(a, b);</p>"
' Output tensor values to HTML content
content &= "<h2>Access Tensor Values</h2>"
content &= $"<p>{a.numpy()} + {b.numpy()} = {add.numpy()}</p>"
content &= $"<p>{a.numpy()} - {b.numpy()} = {[sub].numpy()}</p>"
content &= $"<p>{a.numpy()} * {b.numpy()} = {mul.numpy()}</p>"
content &= $"<p>{a.numpy()} / {b.numpy()} = {div.numpy()}</p>"
' Perform additional operations
Dim mean = tf.reduce_mean(tf.constant( { a, b, c }))
Dim sum = tf.reduce_sum(tf.constant( { a, b, c }))
content &= "<h2>Additional Operations</h2>"
content &= $"<p>mean = {mean.numpy()}</p>"
content &= $"<p>sum = {sum.numpy()}</p>"
' Perform matrix multiplication
Dim matrix1 = tf.constant(New Single(, ) {
{ 1, 2 },
{ 3, 4 }
})
Dim matrix2 = tf.constant(New Single(, ) {
{ 5, 6 },
{ 7, 8 }
})
Dim product = tf.matmul(matrix1, matrix2)
content &= "<h2>Matrix Multiplications</h2>"
content &= "<p>Multiplication Result:</p>"
content &= $"<p>product = {product.numpy()}</p>"
' Render HTML content to PDF
Dim pdf = renderer.RenderHtmlAsPdf(content)
' Save PDF to file
pdf.SaveAs("tensorflow.pdf")
End Sub
End Class
End Namespace
Explication du code
Décomposons l'extrait de code :
-
Déclarations d'importation :
Le code commence par importer les bibliothèques nécessaires. En particulier :
using IronPdf; // This imports the IronPDF package, which is used for working with PDF files. using static Tensorflow.Binding; // This imports the TensorFlow library, specifically the .NET standard binding.using IronPdf; // This imports the IronPDF package, which is used for working with PDF files. using static Tensorflow.Binding; // This imports the TensorFlow library, specifically the .NET standard binding.Imports IronPdf ' This imports the IronPDF package, which is used for working with PDF files. Imports Tensorflow.Binding ' This imports the TensorFlow library, specifically the .NET standard binding.$vbLabelText $csharpLabel -
Exécution enthousiaste :
La ligne
tf.enable_eager_execution();active le mode d'exécution immédiate de TensorFlow. En exécution eager, les opérations sont évaluées immédiatement, ce qui facilite le débogage et l'interaction avec les tenseurs. -
Définir les constantes du tenseur :
Le code définit trois constantes tensorielles :
a,betc. Celles-ci sont initialisées avec les valeurs 5, 6, et 7, respectivement. -
Diverses opérations sur les tenseurs :
Les opérations de tenseurs suivantes sont effectuées :
var add = tf.add(a, b); // Adds a and b. var sub = tf.subtract(a, b); // Subtracts b from a. var mul = tf.multiply(a, b); // Multiplies a and b. var div = tf.divide(a, b); // Divides a by b.var add = tf.add(a, b); // Adds a and b. var sub = tf.subtract(a, b); // Subtracts b from a. var mul = tf.multiply(a, b); // Multiplies a and b. var div = tf.divide(a, b); // Divides a by b.Dim add = tf.add(a, b) ' Adds a and b. Dim [sub] = tf.subtract(a, b) ' Subtracts b from a. Dim mul = tf.multiply(a, b) ' Multiplies a and b. Dim div = tf.divide(a, b) ' Divides a by b.$vbLabelText $csharpLabel -
Accéder aux valeurs du tenseur :
Les résultats des opérations de tenseurs sont inclus dans le contenu HTML :
content += $"<p>{a.numpy()} + {b.numpy()} = {add.numpy()}</p>"; content += $"<p>{a.numpy()} - {b.numpy()} = {sub.numpy()}</p>"; content += $"<p>{a.numpy()} * {b.numpy()} = {mul.numpy()}</p>"; content += $"<p>{a.numpy()} / {b.numpy()} = {div.numpy()}</p>";content += $"<p>{a.numpy()} + {b.numpy()} = {add.numpy()}</p>"; content += $"<p>{a.numpy()} - {b.numpy()} = {sub.numpy()}</p>"; content += $"<p>{a.numpy()} * {b.numpy()} = {mul.numpy()}</p>"; content += $"<p>{a.numpy()} / {b.numpy()} = {div.numpy()}</p>";content += $"<p>{a.numpy()} + {b.numpy()} = {add.numpy()}</p>" content += $"<p>{a.numpy()} - {b.numpy()} = {[sub].numpy()}</p>" content += $"<p>{a.numpy()} * {b.numpy()} = {mul.numpy()}</p>" content += $"<p>{a.numpy()} / {b.numpy()} = {div.numpy()}</p>"$vbLabelText $csharpLabel -
Opérations supplémentaires :
Le code calcule la moyenne et la somme des constantes
[a, b, c]. -
Multiplications matricielles :
Il effectue une multiplication matricielle entre
matrix1etmatrix2et affiche le résultat. -
Génération de PDF :
ChromePdfRendereretRenderHtmlAsPdfdeIronPDFsont utilisés pour transformer la chaîne HTML en un document PDF.
Sortie

Licence IronPDF
IronPDF nécessite une licence pour fonctionner. Plus d'informations sur les licences peuvent être trouvées sur la page Licences IronPDF. Placez la clé dans le fichier appSettings.json comme indiqué ci-dessous.
{
"IronPdf.License.LicenseKey": "The Key Here"
}
Conclusion
En conclusion, TensorFlow.NET permet aux développeurs C# d'explorer le monde de l'apprentissage automatique et de l'intelligence artificielle grâce à la polyvalence et à la productivité de l'écosystème .NET . Que vous construisiez des applications intelligentes, des outils d'analyse prédictive ou des systèmes de prise de décision automatisés, TensorFlow.NET fournit un cadre puissant et flexible pour libérer le potentiel de l'apprentissage automatique en C#. Avec la bibliothèque IronPDF de Iron Software, les développeurs peuvent acquérir des compétences avancées pour développer des applications modernes.
Questions Fréquemment Posées
Comment puis-je intégrer l'apprentissage automatique dans mon application C# ?
Vous pouvez utiliser TensorFlow.NET, une bibliothèque .NET pour TensorFlow, qui vous permet de construire, entraîner et déployer des modèles d'apprentissage automatique au sein de votre application C#. Elle offre une compatibilité totale avec les puissantes API de TensorFlow.
Quelles sont les caractéristiques clés de TensorFlow.NET ?
TensorFlow.NET offre des caractéristiques telles qu'une compatibilité complète avec les API de TensorFlow, des performances élevées grâce au moteur de calcul de TensorFlow, une intégration facile avec les systèmes .NET, la portabilité des modèles et un fort soutien de la communauté.
Comment puis-je convertir du HTML en PDF dans une application .NET ?
Vous pouvez utiliser IronPDF pour convertir du HTML en PDF dans une application .NET. IronPDF permet la conversion des entrées HTML, CSS et JavaScript en documents PDF, offrant une compatibilité multiplateforme et des capacités avancées de manipulation de PDF.
TensorFlow.NET peut-il être utilisé pour importer des modèles depuis Python ?
Oui, TensorFlow.NET prend en charge la portabilité des modèles, vous permettant d'importer des modèles créés dans des environnements comme Python et de les utiliser dans vos applications .NET.
Quel est le potentiel de la combinaison de TensorFlow.NET et IronPDF ?
En combinant TensorFlow.NET et IronPDF, les développeurs peuvent créer des applications intelligentes capables d'effectuer des calculs complexes d'apprentissage automatique et de présenter les résultats dans des documents PDF bien formatés, améliorant ainsi les processus de documentation et de rapports.
TensorFlow.NET est-il adapté au développement multiplateforme ?
Oui, TensorFlow.NET peut être utilisé dans des environnements .NET multiplateformes, permettant aux développeurs de créer des applications compatibles avec divers systèmes d'exploitation.
Comment puis-je éditer et signer des PDF dans une application C# ?
IronPDF fournit des fonctionnalités pour éditer et signer des documents PDF au sein d'une application C#, permettant une manipulation et une gestion robustes des PDF.
Quel soutien est disponible pour les développeurs utilisant TensorFlow.NET ?
TensorFlow.NET est soutenu par une communauté robuste et une documentation complète, facilitant pour les développeurs la recherche de ressources et d'exemples pour les aider dans leur processus de développement.
Comment TensorFlow.NET améliore-t-il l'environnement de développement C# ?
TensorFlow.NET améliore l'environnement de développement C# en intégrant les capacités d'apprentissage automatique de TensorFlow, permettant aux développeurs de tirer parti de toute la puissance de TensorFlow sans quitter l'écosystème .NET.
Où les développeurs peuvent-ils trouver des exemples pratiques d'utilisation d'IronPDF ?
Les développeurs peuvent trouver des exemples pratiques d'utilisation d'IronPDF sur la page de documentation d'IronPDF et via divers ressources en ligne et forums communautaires dédiés à la manipulation de PDF en .NET.




