Domande sul linguaggio SI - pagina 10

 
Andrei Novichkov:
Se scritto normalmente, restituirà un puntatore alla struttura.

Lo capisco, ma cosa restituirà una struttura che non ha campi?

 
Non farà nulla. È solo una specie di esempio, forse un test, così mi sembra. Da dove viene il frammento, posso chiedere?
 
Andrei Novichkov:
Non farà nulla. È solo una specie di esempio, forse un test, così mi sembra. Da dove viene lo snippet, posso chiedere?

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

Ho provato a collegare la libreria tensorflow.dll a 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);
  }

funziona, ha il seguente nel log: TF_Version=1.5.0

Sono bloccato con questo strano costrutto (((((


Sia la libreria che il file header sono nell'allegato.

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

Ho provato a collegare la libreria tensorflow.dll a MQL5

funziona, ha il seguente nel log: TF_Version=1.5.0

Sono bloccato con questo strano costrutto (((((


La libreria stessa e il file header sono nell'allegato

Avete provato a inizializzare gli array?

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

Avete provato a inizializzare gli array?

Il mio esempio è per verificare se la libreria funziona in MQL5 - sì, lo fa.

Non voglio scrivere un vrooper, voglio costruire il file header in mql


Sto arrivando al fondo della mia domanda.

typedef struct TF_Status TF_Status;

Credo di aver iniziato a prenderci la mano:

struct TF_Status {
  tensorflow::Status status;
};
 
Abbastanza prevedibilmente, la programmazione si è trasformata in indovinelli. Mi chiedo quale sarà il risultato...
 
Igor Makanu:

Sto parlando di qualcos'altro, il mio esempio è controllare se la libreria funziona in MQL5 - sì, è così

Non voglio scrivere un vrooper, voglio costruire il file header in mql


Sto andando al fondo di questa domanda.

Penso di avere già il file di intestazione in MQL5, ma l'ho già in MQL5:

Credo che l'abbiate indovinato voi stessi). Solo la definizione della struttura stessa da qualche altra parte, possibilmente in un altro file. Forse in un'altra biblioteca).

Non è necessario scrivere tutto in una volta:

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

typedef può benissimo essere staccato e trattato altrove.

Alexei Tarabanov:
Abbastanza prevedibilmente, la programmazione si è trasformata in indovinelli. Mi chiedo quale sarà il risultato...
E niente indovinelli. È così che hanno cantato per tutta la vita.
 

Perché non perfezionare i wrapper esistenti per TensorFlow e Pytorch?

Perché tutti sono portati a reinventare la propria ruota?

TensorFlow senza Python è ridotto. E non è possibile collegarlo a MQL senza il wrapper intermedio a causa dell'incompatibilità di MQL e C/C++.

 
Roffild:

Perché non perfezionare i wrapper esistenti per TensorFlow e Pytorch?

Perché tutti sono portati a reinventare la propria ruota?

TensorFlow senza Python è ridotto. Ed è impossibile collegarlo correttamente a MQL senza il wrapper intermedio a causa dell'incompatibilità di MQL e C/C++.

Ho visto la tua bicicletta ma per ora sono interessato all'implementazione da parte degli sviluppatori di TensorFlow

ZS: forse quest'anno ci sarà un'API di TensorFlow in 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:

ma fondamentalmente non capisco cosa restituiràTF_NewStatus() ?

un puntatore a un pezzo di dati di dimensione 4 o 8 byte.

la dimensione dipende dalla piattaforma a causa dell'allineamento. se usate qualcosa come pragma pack 1, la dimensione sarà la stessa (1 byte probabilmente)