গুগল টেনসরফ্লো সি ++ এপিআই কীভাবে তৈরি এবং ব্যবহার করবেন


168

আমি সি ++ তে গুগলের নতুন টেনসরফ্লো লাইব্রেরিটি ব্যবহার শুরু করতে আগ্রহী। প্রকল্পের সি ++ এপিআই কীভাবে তৈরি করা যায় সে সম্পর্কে ওয়েবসাইট এবং ডক্সগুলি সত্যই অস্পষ্ট এবং কোথায় শুরু করব তা আমি জানি না।

টেনসরফ্লো এর সি ++ এপিআই ব্যবহারের জন্য কোনও গাইড আবিষ্কার করে এবং ভাগ করে আরও অভিজ্ঞতার সাথে কেউ কী সহায়তা করতে পারেন?


4
আপনার প্রশ্নের জন্য +1। উইন্ডোজ ইনস্টল / সংকলন করার কোন সুযোগ? ওয়েবসাইট কেবল লিনাক্স / ম্যাক দেখায়। বেজেল রান করার জন্য একটি গাইড দরকার। এই উদাহরণটি শিখার জন্য একটি ভাল সূচনা পয়েন্ট হতে পারে: github.com/tensorflow/tensorflow/tree/master/tensorflow/…
আলআরমা

এই প্রশ্নের এখনও একটি উত্তর নেই। কীভাবে কেবল সি ++ টেনস্রফ্লো ইনস্টল করবেন সি ++ এপিআই লাইব্রেরিগুলিতে এর কোনও গাইড নেই, এবং গৃহীত উত্তরগুলি কীভাবে এটি করা যায় তার কোনও প্রমাণ দেয় না, এমনকি একাধিক সরবরাহিত লিঙ্কের মাধ্যমেও।
iantonuk

উইন্ডোজের জন্য, আমি এই প্রশ্নটি এবং এর গৃহীত উত্তরকে সবচেয়ে সহায়ক বলে মনে করেছি। উদাহরণস্বরূপ প্রশিক্ষক প্রকল্প তৈরি করে আপনি পুরো টেনসরফ্লো প্রকল্পটি একটি স্ট্যাটিক লাইব্রেরি হিসাবে তৈরি করেন, তারপরে এটির লিঙ্ক করুন। আপনি নিজের প্রকল্প তৈরি করতে এবং টেনসরফ্লো একইভাবে সংযুক্ত করতে পারেন।
ওমটাই

উত্তর:


2

টেনসরফ্লো সি ++ এপিআই ব্যবহার করার একটি বিকল্প হ'ল সিপিপিফ্লো ব্যবহার করা ।

এটি টেনসরফ্লো সি এপিআই এর চারপাশে একটি হালকা সি ++ র‌্যাপার । আপনি খুব ছোট এক্সিকিউটেবল পাবেন এবং এটি libtensorflow.soইতিমধ্যে সংকলিত ফাইলের সাথে লিঙ্ক করে । ব্যবহারের উদাহরণ রয়েছে এবং আপনি বাজেলের পরিবর্তে সিএমএকেই ব্যবহার করেন।


55

শুরু করার জন্য, আপনাকে এখানে নির্দেশাবলী অনুসরণ করে গিথুব থেকে উত্স কোডটি ডাউনলোড করা উচিত (আপনার বাজেল এবং জিসিসির একটি সাম্প্রতিক সংস্করণ প্রয়োজন হবে )।

সি ++ এপিআই (এবং সিস্টেমের ব্যাকএন্ড) রয়েছে tensorflow/core। এখনই, কেবল সি ++ সেশন ইন্টারফেস এবং সিআইপি সমর্থন করা হচ্ছে। পাইথন এপিআই ব্যবহার করে নির্মিত হয়েছে এবং GraphDefপ্রোটোকল বাফারে সিরিয়ালীকৃত টেনসরফ্লো গ্রাফগুলি সম্পাদন করতে আপনি এর মধ্যে দুটিও ব্যবহার করতে পারেন । সি ++ তে গ্রাফ তৈরির জন্য একটি পরীক্ষামূলক বৈশিষ্ট্যও রয়েছে তবে এটি বর্তমানে পাইথন এপিআইয়ের মতো পুরোপুরি বৈশিষ্ট্যযুক্ত নয় (যেমন বর্তমানে অটো-ডিফারেন্সেশনের জন্য কোনও সমর্থন নেই)) আপনি এখানে একটি উদাহরণ প্রোগ্রাম দেখতে পারেন যা সি ++ এ একটি ছোট গ্রাফ তৈরি করে

সি ++ এপিআই-এর দ্বিতীয় অংশটি নতুন যুক্ত করার জন্য এপিআই OpKernel, যা সিপিইউ এবং জিপিইউর জন্য সংখ্যাসূচক কার্নেলগুলি প্রয়োগ করে এমন বর্গ। এগুলি কীভাবে তৈরি করা যায় তার অনেকগুলি উদাহরণ রয়েছে tensorflow/core/kernels, পাশাপাশি সি ++ এ একটি নতুন বিকল্প যুক্ত করার জন্য একটি টিউটোরিয়াল রয়েছে


7
সি ++ এর জন্য কোনও ইনস্টলেশনের নির্দেশাবলী টেনসরফ্রোলা.অর্গ / ইনস্টল দেখানো হয় না , তবে উদাহরণস্বরূপ tensorflow.org/api_guides/cc/guide প্রোগ্রাম রয়েছে যা সি ++ এপিআই স্পষ্টভাবে ব্যবহার করছে। আপনি টেনসরফ্লো জন্য সি ++ ঠিক কীভাবে ইনস্টল করেছেন?
ব্যবহারকারী3667089

@ user3667089 ইনস্টলেশন প্রক্রিয়াটির অবস্থানটি
ডুইট

6
@ শুয়াইট আমি এই পৃষ্ঠাটি আগে দেখেছি কিন্তু আমি সি ++
ইউজার3667089

2
@ user3667089 উপরের ইনস্টলেশন প্রক্রিয়াটির পরে, শিরোনামগুলি ইনস্টলেশন প্রক্রিয়া চলাকালীন আপনি বেছে নেওয়া পাইথন বিতরণের ডিস্ট-প্যাকেজ ফোল্ডারে অবস্থিত হবে (যেমন /usr/local/lib/python2.7/dist-packages)। সেই ফোল্ডারে একটি ফোল্ডার টেনসরফ্লো / অন্তর্ভুক্ত থাকবে, যার সমস্ত শিরোনাম থাকবে। আপনি যা কিছু নির্মাণ করছেন তা এতে অন্তর্ভুক্ত রয়েছে তা নিশ্চিত করার জন্য আপনাকে কিছুটা কাজ করতে হবে। আমি ব্যক্তিগতভাবে CMAKE ব্যবহার করেন, তাই মাধ্যমে trudging করছি এই
ডুইট

4
এটি এই তারিখ পর্যন্ত সত্যিকারের উত্তর নয়। এটি "শুরু করতে" দিয়ে শুরু হয় এবং তারপরে এমন কোনও স্থানে সম্পর্কিত কোনও লিঙ্কের লিঙ্ক দেয় না যা এখানে গাইডেন্স খুঁজছেন লোকেরা ইতিমধ্যে সন্ধান করবে। এটি পরবর্তী পদক্ষেপ সরবরাহ করতে ব্যর্থ হয়, বিষয় পরিবর্তন করে।
iantonuk

28

@ মিরির পোস্টে যুক্ত করতে, আমি একটি টিউটোরিয়াল রেখেছিলাম যাতে কীভাবে সি ++ এপিআই দিয়ে টেনসরফ্লো গ্রাফ লোড করা যায় explains এটি খুব ন্যূনতম এবং টুকরোগুলির সমস্ত কীভাবে একসাথে ফিট হয় তা বুঝতে আপনাকে সহায়তা করা উচিত। এখানে এর মাংস:

প্রয়োজনীয়তা:

  • বাজেল ইনস্টল করা হয়েছে
  • ক্লোন টেনসরফ্লো রেপো

ফোল্ডার কাঠামো:

  • tensorflow/tensorflow/|project name|/
  • tensorflow/tensorflow/|project name|/|project name|.cc (e.g. https://gist.github.com/jimfleming/4202e529042c401b17b7)
  • tensorflow/tensorflow/|project name|/BUILD

তৈরি করুন:

cc_binary(
    name = "<project name>",
    srcs = ["<project name>.cc"],
    deps = [
        "//tensorflow/core:tensorflow",
    ]
)

দুটি সতর্কতা যার জন্য সম্ভবত কর্মক্ষেত্র রয়েছে:

  • এখনই, টেনসরফ্লো রেপোর মধ্যে বিল্ডিংয়ের জিনিসগুলি হওয়া দরকার ।
  • সংকলিত বাইনারি বিশাল (103MB)।

https://medium.com/@jimfleming/loading-a-tensorflow-graph-with-the-c-api-4caaff88463f


1
হ্যালো জিম এই টিউটোরিয়ালটি কি এখনও টিএফ দিয়ে সি ++ প্রকল্প সংকলনের সেরা / সহজতম উপায়? বা আপনার পোস্টের শেষে আপনি যেমন পূর্বাভাস দিয়েছেন তেমন কোন সহজ উপায় আছে?
Sander

3
আমি বিশ্বাস করি সেখানে এখন বিল্ট-ইন বিল্ড রুল রয়েছে। আমি কিছুক্ষণ আগে এর জন্য পিআর জমা দিয়েছি। আমি সতর্কতা সম্পর্কে নিশ্চিত নই। আমি আশা করব যে এটি প্রথম থাকায় এটি টিএফ-এর নয়, বাজেলের ফলাফল। দ্বিতীয়টি সম্ভবত উন্নত হতে পারে।
জিম

আমি যে টিউটোরিয়াল অনুসরণ, কিন্তু চলমান ./loaderআমি কোনো ত্রুটির সম্মুখীন হয়েছেন: Not found: models/train.pb
9 ম ডাইমেনশন

3
আপনার প্রকল্পটি টেনসরফ্লো উত্স কোড ডিরেক্টরিটির বাইরে এখন কী আছে?
Seanny123

হ্যাঁ, আপনি কীভাবে টেনস্রফ্রোর লাইব্রেরি ভাগ করেছেন তা ousস্টাইড করতে কীভাবে?
জাইজ

15

আপনি যদি বাজেলের সাহায্যে আপনার প্রকল্পগুলি তৈরি করা এবং একটি বৃহত বাইনারি তৈরি করা উভয়ই এড়াতে চান তবে আমি টেম্পারফ্লো সি ++ লাইব্রেরির সিএমকে সাথে ব্যবহারের নির্দেশনা করে একটি সংগ্রহস্থল একত্রিত করেছি। আপনি এটি এখানে খুঁজে পেতে পারেন । সাধারণ ধারণাগুলি নিম্নরূপ:

  • টেনসরফ্লো সংগ্রহস্থলটি ক্লোন করুন।
  • এতে একটি বিল্ড রুল যুক্ত করুন tensorflow/BUILD(প্রদত্তরা এতে সমস্ত সি ++ কার্যকারিতা অন্তর্ভুক্ত করে না)।
  • টেনসরফ্লো শেয়ার করা লাইব্রেরি তৈরি করুন।
  • ইগেন এবং প্রোটোবুফের নির্দিষ্ট সংস্করণ ইনস্টল করুন, বা তাদের বাহ্যিক নির্ভরতা হিসাবে যুক্ত করুন।
  • টেনসরফ্লো লাইব্রেরি ব্যবহার করতে আপনার সিএমকে প্রকল্পটি কনফিগার করুন।

15

প্রথমে, ইনস্টল করার পরে protobufএবং eigen, আপনি টেনসরফ্লো তৈরি করতে চাই:

./configure
bazel build //tensorflow:libtensorflow_cc.so

তারপর কপি নিম্নলিখিত হেডার এবং গতিশীল ভাগ গ্রন্থাগার অন্তর্ভুক্ত /usr/local/libএবং /usr/local/include:

mkdir /usr/local/include/tf
cp -r bazel-genfiles/ /usr/local/include/tf/
cp -r tensorflow /usr/local/include/tf/
cp -r third_party /usr/local/include/tf/
cp -r bazel-bin/libtensorflow_cc.so /usr/local/lib/

শেষ পর্যন্ত, একটি উদাহরণ ব্যবহার করে সংকলন করুন:

g++ -std=c++11 -o tf_example \
-I/usr/local/include/tf \
-I/usr/local/include/eigen3 \
-g -Wall -D_DEBUG -Wshadow -Wno-sign-compare -w  \
-L/usr/local/lib/libtensorflow_cc \
`pkg-config --cflags --libs protobuf` -ltensorflow_cc tf_example.cpp

আমি বিশ্বাস করি প্রোটোবুফ এবং ইগেন ইনস্টল করার প্রয়োজন নেই। বাজেল ওয়ার্কস্পেস কনফিগারেশনে এই উপাদানগুলি ডাউনলোড এবং বিল্ড করার নিয়ম রয়েছে।
লা

অবশেষে, ক্রেজিট অফিশিয়াল বিল্ড গাইড টেনসরফ্রো.অর্গ / ইনস্টল/সোর্স হ'ল পাইপ মডিউল তৈরির জন্য, বিল্ড অপশনটি "টেনসরফ্লো: লাইবটেনসরফ্লো_সি.সি.এস." এর জন্য টেক্সস, এটি টেনসরফ্রো.আর.এও ডকুমেন্টেড নয়
২din

@ বালাবিদি 'বেজেল বিল্ড' কমান্ডের আগে সি ++ নির্ভরতা কতটা হওয়া উচিত? আমি এই সমস্যার মুখোমুখি হয়েছি যে বিল্ডটি এক ঘন্টা পরে ব্যর্থ হয়, বারবার এই বিল্ডটি পরীক্ষা করা শক্ত
ডাটদিনহোকোক ২

15

আপনি যদি স্ট্যান্ডেলোন প্যাকেজে টেনসরফ্লো সি ++ এপি ব্যবহার করার কথা ভাবছেন তবে আপনার ব্যবহৃত সি ++ সংস্করণটি তৈরি করতে আপনার সম্ভবত টেনসরফ্লো_সিপি প্রয়োজন হবে (এসি এপিআই সংস্করণ টেনসরফ্লোও রয়েছে):

bazel build -c opt //tensorflow:libtensorflow_cc.so

দ্রষ্টব্য 1: আপনি অন্তর্নিহিত সমর্থন যুক্ত করতে চাইলে আপনি এই পতাকাগুলি যুক্ত করতে পারেন: --copt=-msse4.2 --copt=-mavx

দ্রষ্টব্য 2: আপনি যদি নিজের প্রকল্পে ওপেনসিভিও ব্যবহার করার বিষয়ে ভাবছেন তবে উভয় লিব একসাথে ব্যবহার করার সময় একটি সমস্যা রয়েছে ( টেনসরফ্লো ইস্যু ) এবং আপনার ব্যবহার করা উচিত --config=monolithic

লাইব্রেরিটি তৈরির পরে আপনার এটি আপনার প্রকল্পে যুক্ত করা দরকার। এটি করার জন্য আপনি এই পাথগুলি অন্তর্ভুক্ত করতে পারেন:

tensorflow
tensorflow/bazel-tensorflow/external/eigen_archive
tensorflow/bazel-tensorflow/external/protobuf_archive/src
tensorflow/bazel-genfiles

এবং আপনার প্রকল্পে লাইব্রেরি লিঙ্ক:

tensorflow/bazel-bin/tensorflow/libtensorflow_framework.so (unused if you build with --config=monolithic)
tensorflow/bazel-bin/tensorflow/libtensorflow_cc.so

এবং আপনি যখন আপনার প্রকল্পটি তৈরি করছেন তখন আপনার সিগায়ারটিও নির্দিষ্ট করা উচিত যে আপনি সি ++ 11 মান ব্যবহার করছেন।

পার্শ্ব দ্রষ্টব্য: টেনসরফ্লো সংস্করণ 1.5 এর সাথে সম্পর্কিত পাথগুলি (আপনার সংস্করণে কিছু পরিবর্তন হয়েছে কিনা তা আপনাকে পরীক্ষা করতে হবে)।

এছাড়াও এই লিঙ্কটি আমাকে এই সমস্ত ইনফোগুলি: লিঙ্কটি সন্ধান করতে অনেক সহায়তা করেছে


1
আমার এই অতিরিক্ত সংস্করণের 1.11 সংস্করণটি সহ নির্মাণের পথের প্রয়োজন ছিল:tensorflow/bazel-tensorflow/external/com_google_absl
নোয়াহ _

8

আপনি এর শেলস্ক্রিপ্টটি এর বেশিরভাগ নির্ভরতা ইনস্টল করতে, ক্লোন করতে, তৈরি করতে, সংকলন করতে এবং প্রয়োজনীয় সমস্ত ফাইল ../src/includesফোল্ডারে আনতে ব্যবহার করতে পারেন :

https://github.com/node-tensorflow/node-tensorflow/blob/master/tools/install.sh


8

যদি আপনি সিএমকে ব্যবহার করতে আপত্তি না করেন তবে এমন একটি টেনসরফ্লো_সিসি প্রকল্পও রয়েছে যা আপনার জন্য টিএফ সি ++ এপিআই তৈরি করে এবং ইনস্টল করে, সুবিধাজনক সিএমকে লক্ষ্যমাত্রা সহ আপনি লিংক করতে পারেন। README প্রকল্পটিতে একটি উদাহরণ রয়েছে এবং আপনি সহজেই অনুসরণ করতে পারেন ডকঅফিলগুলি।


8

আপনি যদি টেনসরফ্লো নিজেই তৈরি করতে না চান এবং আপনার অপারেটিং সিস্টেমটি হ'ল ডেবিয়ান বা উবুন্টু, আপনি টেনসরফ্লো সি / সি ++ লাইব্রেরির সাথে প্রিল বিল্ট প্যাকেজগুলি ডাউনলোড করতে পারেন। এই বিতরণ সিপিউ এর সাথে সি / সি ++ অনুমানের জন্য ব্যবহার করা যেতে পারে, জিপিইউ সমর্থন অন্তর্ভুক্ত নয়:

https://github.com/kecsap/tensorflow_cpp_packaging/releases

টেনসরফ্লো (টিএফ্লায়ারন) এ কীভাবে একটি চেকপয়েন্ট নিথর করা যায় এবং সি / সি ++ এপিআইয়ের সাথে অনুমানের জন্য এই মডেলটি লোড করার জন্য লিখিত নির্দেশাবলী রয়েছে:

https://github.com/kecsap/tensorflow_cpp_packaging/blob/master/README.md

সাবধান: আমি এই গিথুব প্রকল্পের বিকাশকারী।


5

পুরো টিএফ লাইব্রেরিটি নিজে নিজে তৈরি করতে না পারার জন্য আমি একটি হ্যাক / ওয়ার্কারআউন্ড ব্যবহার করি (যা উভয় সময় সাশ্রয় করে (এটি 3 মিনিটের মধ্যে সেটআপ হয়), ডিস্কের স্থান, ডেভ নির্ভরতা ইনস্টল করে এবং ফলাফল বাইনারি আকার)। এটি আনুষ্ঠানিকভাবে অসমর্থিত, তবে আপনি যদি দ্রুত ঝাঁপিয়ে পড়তে চান তবে ভাল কাজ করে well

পাইপ ( pip install tensorflowবা pip install tensorflow-gpu) এর মাধ্যমে টিএফ ইনস্টল করুন । তারপরে এর লাইব্রেরিটি _pywrap_tensorflow.so(টিএফ 0. * - 1.0) বা _pywrap_tensorflow_internal.so(টিএফ 1.1+) সন্ধান করুন। আমার ক্ষেত্রে (উবুন্টু) এটি অবস্থিত /usr/local/lib/python2.7/dist-packages/tensorflow/python/_pywrap_tensorflow.so। তারপরে এই লাইব্রেরিতে এমন একটি সিমিলিংক তৈরি করুন lib_pywrap_tensorflow.soযেখানে আপনার বিল্ড সিস্টেম এটি খুঁজে পায় (উদাঃ /usr/lib/local)। উপসর্গটি libগুরুত্বপূর্ণ! আপনি এটিকে অন্য lib*.soনামও দিতে পারেন - আপনি যদি এটি কল করেন তবে আপনি libtensorflow.soটিএফ এর সাথে কাজ করার জন্য লিখিত অন্যান্য প্রোগ্রামগুলির সাথে আরও ভাল সামঞ্জস্যতা পেতে পারেন।

তারপরে আপনি সি (++++++++++++++++++++++++++++++++++++++++++++++++++++++>) একটি সি ++ প্রকল্প তৈরি করুন যেমন আপনি অভ্যস্ত (সিএমকেক, মেক, বাজেল, আপনার পছন্দমতো)।

এবং তারপরে আপনি আপনার প্রকল্পগুলির জন্য টিএফ উপলব্ধ রাখতে কেবল এই লাইব্রেরির সাথে লিঙ্ক করতে প্রস্তুত (এবং আপনার python2.7লাইব্রেরির সাথে লিঙ্ক করতেও হবে )! সিএমকে, আপনি যেমন কেবল যুক্ত করুন target_link_libraries(target _pywrap_tensorflow python2.7)

সি ++ হেডার ফাইল এই লাইব্রেরি, যেমন চারপাশে অবস্থিত হয় /usr/local/lib/python2.7/dist-packages/tensorflow/include/

আবারও: এই উপায়টি আনুষ্ঠানিকভাবে অসমর্থিত এবং আপনি বিভিন্ন সমস্যা নিয়ে চলতে পারেন। লাইব্রেরিটি প্রোটোবুফের বিপরীতে স্থিতিশীলভাবে লিঙ্কযুক্ত বলে মনে হচ্ছে, সুতরাং আপনি বিজোড় লিঙ্ক-টাইম বা রান-টাইম সমস্যাগুলিতে চালাতে পারেন। তবে আমি একটি সঞ্চিত গ্রাফ লোড করতে, ওজন পুনরুদ্ধার করতে এবং অনুক্রম চালাতে সক্ষম, যা আই ++ সি ++ এর সর্বাধিক চেয়েছিলেন কার্যকারিতা।


আমি এই কাজ করতে পারে না। পাইথন undefined reference to 'PyType_IsSubtype'
স্টাফের

ওহ, এটি দেখানোর জন্য ধন্যবাদ ... আপনার অবশ্যই python2.7লাইব্রেরির সাথে লিঙ্ক করা উচিত ... আমি সেই অনুযায়ী পোস্টটি সম্পাদনা করব।
মার্টিন পেক্কা

@ মার্টিনপেক্কা আমি আর্মভ 7 এল (রাস্পবেরি পিআই 2) দিয়ে রাস্পবিয়ান বুস্টারে চেষ্টা করেছি। উপলব্ধ সর্বশেষতম পাইথন ২.7 এবং ৩.7 চাকাগুলি 1.14.0 এর জন্য, তবে আমি 2.0.0 লক্ষ্য করছি। যাইহোক ধন্যবাদ, আমি আপনার হ্যাক upvmitted।
ডাইসুকে আরমাকি


2

উপরের উত্তরগুলি লাইব্রেরিটি কীভাবে তৈরি করবেন তা দেখানোর জন্য যথেষ্ট ভাল তবে শিরোনাম কীভাবে সংগ্রহ করবেন তা এখনও জটিল। এখানে আমি প্রয়োজনীয় শিরোনামগুলি অনুলিপি করতে আমি যে ছোট স্ক্রিপ্টটি ব্যবহার করি তা ভাগ করি।

SOURCEহ'ল প্রথম পরম, যা টেনসরফ্রোল উত্স (বিল্ড) ডাইরেক্টিটি;
DSTদ্বিতীয় পরম, যা include directoryসংগ্রহকৃত শিরোনামগুলি ধারণ করে। (উদাঃ। cmake মধ্যে, include_directories(./collected_headers_here))।

#!/bin/bash

SOURCE=$1
DST=$2
echo "-- target dir is $DST"
echo "-- source dir is $SOURCE"

if [[ -e $DST ]];then
    echo "clean $DST"
    rm -rf $DST
    mkdir $DST
fi


# 1. copy the source code c++ api needs
mkdir -p $DST/tensorflow
cp -r $SOURCE/tensorflow/core $DST/tensorflow
cp -r $SOURCE/tensorflow/cc $DST/tensorflow
cp -r $SOURCE/tensorflow/c $DST/tensorflow

# 2. copy the generated code, put them back to
# the right directories along side the source code
if [[ -e $SOURCE/bazel-genfiles/tensorflow ]];then
    prefix="$SOURCE/bazel-genfiles/tensorflow"
    from=$(expr $(echo -n $prefix | wc -m) + 1)

    # eg. compiled protobuf files
    find $SOURCE/bazel-genfiles/tensorflow -type f | while read line;do
        #echo "procese file --> $line"
        line_len=$(echo -n $line | wc -m)
        filename=$(echo $line | rev | cut -d'/' -f1 | rev )
        filename_len=$(echo -n $filename | wc -m)
        to=$(expr $line_len - $filename_len)

        target_dir=$(echo $line | cut -c$from-$to)
        #echo "[$filename] copy $line $DST/tensorflow/$target_dir"
        cp $line $DST/tensorflow/$target_dir
    done
fi


# 3. copy third party files. Why?
# In the tf source code, you can see #include "third_party/...", so you need it
cp -r $SOURCE/third_party $DST

# 4. these headers are enough for me now.
# if your compiler complains missing headers, maybe you can find it in bazel-tensorflow/external
cp -RLf $SOURCE/bazel-tensorflow/external/eigen_archive/Eigen $DST
cp -RLf $SOURCE/bazel-tensorflow/external/eigen_archive/unsupported $DST
cp -RLf $SOURCE/bazel-tensorflow/external/protobuf_archive/src/google $DST
cp -RLf $SOURCE/bazel-tensorflow/external/com_google_absl/absl $DST

1
এটি সত্যিই সহায়ক স্নিপেট ছিল, একটি ডিরেক্টরি তৈরি করার সময় একটি সমস্যা ছিল, সুতরাং আমাকে mkdir -p $DST/tensorflow$target_dircp $line $DST/tensorflow/$target_dir
এটির

@ হাকুনামি আমি এই লিপিটি বের করেছিলাম । আমার সম্পর্কে আপনি কী মনে করেন জানি। আপনি যদি নিজের মুদ্রা তৈরি করতে চান তবে আমি আমার সরিয়ে দেব এবং আপনার ক্লোন করব।
ডাইসুকে আরমাকি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.