Questions sur la langue SI - page 10

 
Andrei Novichkov:
Si elle est écrite normalement, elle renverra un pointeur vers la structure.

Je comprends cela, mais comment retourner une structure qui n'a pas de champs ?

 
Ça ne fera rien. C'est juste une sorte d'exemple, peut-être un test, il me semble. D'où vient ce fragment, si je puis me permettre ?
 
Andrei Novichkov:
Ça ne fera rien. C'est juste une sorte d'exemple, peut-être un test, il me semble. D'où vient cet extrait, si je puis me permettre ?

tensorflow c++ apihttps://www.tensorflow.org/install/lang_c

J'ai essayé de connecter la bibliothèque tensorflow.dll à MQL5.

#property strict

#define  PCHAR  long

#import "tensorflow.dll"
const PCHAR TF_Version();
#import

#import "msvcrt.dll"
int strcpy(uchar &dst[],PCHAR src);
#import
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
   uchar byte[];
   ArrayResize(byte,300);
   PCHAR ptr;
//--- указатель на строку
   ptr=TF_Version();
   if(ptr>0) strcpy(byte,ptr);
   Print("TF_Version="+CharArrayToString(byte));
//---
   return(INIT_SUCCEEDED);
  }

cela fonctionne, j'ai obtenu le résultat suivant dans le journal : TF_Version=1.5.0

Je suis coincé avec cette étrange construction (((((


La bibliothèque et le fichier d'en-tête se trouvent dans la pièce jointe.

Install TensorFlow for C  |  TensorFlow
Install TensorFlow for C  |  TensorFlow
  • www.tensorflow.org
TensorFlow provides a C API that can be used to build bindings for other languages. The API is defined in and designed for simplicity and uniformity rather than convenience. Supported Platforms TensorFlow for C is supported on the following systems: Setup Download TensorFlow C libraryURL Extract Extract the downloaded archive, which contains...
 
Igor Makanu:

tensorflow c++ apihttps://www.tensorflow.org/install/lang_c

J'ai essayé de connecter la bibliothèque tensorflow.dll à MQL5.

cela fonctionne, j'ai obtenu le résultat suivant dans le journal : TF_Version=1.5.0

Je suis coincé avec cette étrange construction (((((


La bibliothèque elle-même et le fichier d'en-tête se trouvent dans le fichier joint.

Avez-vous essayé d'initialiser les tableaux ?

 
Алексей Тарабанов:

Avez-vous essayé d'initialiser les tableaux ?

Mon exemple consiste à vérifier si la bibliothèque fonctionne dans MQL5 - oui, elle fonctionne.

Je ne veux pas écrire un vrooper, je veux construire le fichier d'en-tête en mql.


Je suis en train d'aller au fond de ma question.

typedef struct TF_Status TF_Status;

Je pense que je commence à avoir le coup de main :

struct TF_Status {
  tensorflow::Status status;
};
 
Comme on pouvait s'y attendre, la programmation s'est transformée en devinette. Je me demande quel sera le résultat...
 
Igor Makanu:

Je parle d'autre chose, mon exemple consiste à vérifier si la bibliothèque fonctionnera dans MQL5 - oui, elle le fera.

Je ne veux pas écrire un vrooper, je veux construire le fichier d'en-tête en mql.


Je suis en train d'aller au fond de la question.

Je pense que j'ai déjà le fichier d'en-tête dans MQL5, mais je l'ai déjà dans MQL5 :

Je pense que vous l'avez deviné vous-même). Juste la définition de la structure elle-même quelque part ailleurs, éventuellement dans un autre fichier. Peut-être dans une autre bibliothèque).

Vous ne devez pas tout écrire en même temps :

typedef struct TF_Status {
int if;
long lf;
.....
} TF_Status, *PTF_Status;

typedef peut très bien être détaché et traité ailleurs.

Alexei Tarabanov:
Comme on pouvait s'y attendre, la programmation s'est transformée en devinette. Je me demande quel sera le résultat...
Et pas de devinettes. C'est comme ça qu'ils ont chanté toute leur vie.
 

Pourquoi ne pas affiner les wrappers existants pour TensorFlow et Pytorch ?

Pourquoi tout le monde est-il attiré par le fait de réinventer sa propre roue ?

TensorFlow sans Python est coupé. Et vous ne pouvez pas le connecter à MQL sans le wrapper intermédiaire en raison de l'incompatibilité de MQL et de C/C++.

 
Roffild:

Pourquoi ne pas affiner les wrappers existants pour TensorFlow et Pytorch ?

Pourquoi tout le monde est-il attiré par le fait de réinventer sa propre roue ?

TensorFlow sans Python est coupé. Et il est impossible de le connecter correctement à MQL sans le wrapper intermédiaire en raison de l'incompatibilité de MQL et de C/C++.

J'ai vu votre vélo mais pour l'instant, je suis intéressé par l'implémentation des développeurs de TensorFlow.

ZS : peut-être que cette année il y aura une API TensorFlow en C#https://www.tensorflow.org/lite/guide/roadmap

TensorFlow Lite 2019 Roadmap  |  TensorFlow Lite  |  TensorFlow
  • www.tensorflow.org
Updated: March 6th, 2019 The following represents a high level overview of our 2019 plan. You should be conscious that this roadmap may change at anytime relative to a range of factors and the order below does not reflect any type of priority. As a matter of principle, we typically prioritize issues that the majority of our users are asking for...
 
Igor Makanu:

mais en fait, je ne comprends pas ce queTF_NewStatus()va retourner?

un pointeur vers un élément de données de taille 4 ou 8 octets.

la taille dépend de la plateforme à cause de l'alignement. si vous utilisez quelque chose comme pragma pack 1, la taille sera la même (1 octet probablement)