Tensorflow: Dukungan dan Dokumentasi Windows

Dibuat pada 9 Nov 2015  ·  180Komentar  ·  Sumber: tensorflow/tensorflow

Saya senang melihat tensorflow, tetapi karena banyak pengguna lain, kami menggunakan Windows, akan senang melihat dukungan ini terjadi. Apakah Anda akan menerima kontribusi port Windows?

Sementara itu, Microsoft baru-baru ini merilis toolkit Deep Learning mereka yang menskalakan beberapa mesin dengan GPU untuk Linux dan Windows. https://github.com/Microsoft/CNTK

Komentar yang paling membantu

Terima kasih atas semua minat Anda pada TensorFlow di Windows! Kami membuat kemajuan di dua bidang utama:

  1. Mengadaptasi file Bazel BUILD TensorFlow agar berfungsi di Windows. Anda mungkin telah melihat beberapa pull request terbaru dari @meteorcloudy ke arah itu (seperti #4449), dan rencana akhir kami adalah memiliki dukungan penuh untuk membangun TensorFlow, menggunakan Bazel, di Windows.
  2. Memodifikasi runtime TensorFlow untuk membangun dengan compiler Visual C++ 2015. Saya telah mengerjakan upaya ini, dan perbedaan antara HEAD dan cabang kerja saya semakin kecil setiap hari. Untuk saat ini, saya menggunakan CMake untuk membangun TensorFlow menggunakan Visual Studio/MSBuild, tetapi saya berencana untuk beralih ke Bazel ketika file BUILD bekerja lintas platform.

Kami berharap untuk segera mengumumkannya, dengan paket PIP biner dan instruksi untuk membangun TensorFlow di Windows. Sementara itu, kami akan memperbarui masalah ini ketika kami memiliki berita untuk dibagikan.


Menanggapi pertanyaan spesifik dari @kestrelm :

  1. Saat ini saya menggunakan CMake untuk menghasilkan solusi VS dengan banyak proyek, dan kami akan menggabungkannya sebagai bagian dari item (2) di atas.
  2. Paling tidak, kita dapat menghasilkan ekstensi Python DLL yang berisi runtime dan semua kernel (setara dengan tensorflow/python/_pywrap_tensorflow.so ), dan memberikan instruksi untuk membangun biner C++ yang ditautkan secara statis (setara dengan tensorflow/cc/tutorials/example_trainer.cc ).
  3. Kita dapat dengan mudah membuat versi runtime dengan fitur-fitur tersebut (seperti subset Android dari kernel terkait inferensi dalam DLL di belakang C API), meskipun mungkin tidak akan menjadi bagian dari rilis awal. Namun, dimungkinkan untuk memodifikasi file build untuk membuat target yang memiliki properti ini, dan saya akan dengan senang hati membantu siapa saja yang mencoba melakukannya.

Semua 180 komentar

Saya pikir itu saran yang bagus!

Sama, saya agak kecewa melihat tidak disebutkan Windows di halaman unduh dan instal.

Adakah yang tahu apa ketidaksesuaian/akomodasi utama? Apakah sebagian besar masalah dengan jalur file, dll?

Itu dibangun dengan Bazel, yang hanya mendukung linux/mac, tetapi kabar baiknya adalah bahwa dukungan windows untuk bazel tampaknya akan keluar pada akhir tahun ini.

:jempolan:

Anda sudah dapat menggunakan TensorFlow di mesin Windows dengan menggunakan Docker.
Detailnya ada di thread ini.
https://github.com/tensorflow/tensorflow/issues/42

Saya ingin menggunakan TensorFlow di Windows tanpa Docker, untuk menggunakan komputasi GPU. Menggunakan Docker dalam hal ini tidak menggunakan wadah Windows, tetapi mesin virtual Linux di Hyper-V atau VirtualBox, sehingga GPU tidak akan dilewati.

:+1:

google, tolong beri kami dukungan windows!

+1/0.0

+1

Ya, dukungan windows akan sangat bagus.

+1
+1
+1

ya silahkan

Ingin menggunakan TensorFlow di Windows (asli, bukan di VM).

Saya akan melihat apakah Continuum dapat menyediakan paket conda untuk tensorflow.

Dilihat dari penggunaan bazel di seluruh dokumentasi, saya menganggap ini masalah menunggu bazel untuk mendukung windows. Apakah ada sesuatu yang spesifik untuk Tensorflow yang perlu ditangani agar windows didukung, atau hanya bazel?

Satu pertanyaan yang saya miliki adalah kapan dukungan Bazel benar-benar tiba di Windows. Melihat repositori Bazel dikatakan mereka berencana untuk mendukung Android di Windows, tapi saya tidak melihat referensi untuk membangun (apa yang saya asumsikan) paket asli.

Berikut adalah bug yang kami gunakan untuk melacak dukungan Bazel untuk Windows: https://github.com/bazelbuild/bazel/issues/276. Sebulan yang lalu, @dslomov bisa membuat Bazel melakukan bootstrap sendiri di Windows . Rencananya adalah untuk menyelesaikan dukungan Windows pada akhir tahun ini.

@davidzchen Saya sebenarnya bekerja dengan repo itu sore ini untuk mencoba dan mencobanya tanpa banyak keberuntungan, saya mungkin bermain-main dengannya lagi untuk melihat apakah saya bisa membuatnya berhasil bootstrap sendiri.

+1 dukungan asli di windows harus tersedia

+1

atau mungkin kita bisa port ke sistem build yang lebih masuk akal. mungkin cmake.

@ahmadia apakah Anda punya tips tentang cara menginstal tensorflow menggunakan conda?

Saat ini kami berada di kapal yang sama seperti orang lain karena tidak ada port TensorFlow ke Windows. Jika seseorang dapat menyusun port Windows, saya akan dengan senang hati membantu dengan build/deployment biner. Seseorang telah menyusun resep untuk OS X/Linux yang tersedia dengan conda install -c memex tensorflow .

+1 untuk ini

+1

+1
juga dukungan cmake akan sangat bagus

Saya menyusun artikel dengan instruksi dan tangkapan layar untuk membuat TensorFlow bekerja pada mesin Windows menggunakan Docker di sini menggunakan tip dari masalah 42 jika itu bermanfaat bagi siapa saja.

Meskipun saya masih tidak yakin bagaimana saya dapat memanfaatkan GPU saya jika TensorFlow berjalan di VM di mesin Windows saya.

+1 dukungan windows asli akan sangat membantu

+1

Saya ingin memiliki versi TensorFlow untuk Windows 7, jika ada, Silakan kirim email saya.
Alamat email saya: [email protected].
Terima kasih!

+1

Dukungan Windows adalah sedikit upaya dramatis. Mungkin mendukung Windows hanya untuk kompiler yang benar-benar standar (gcc / tdm-gcc / mingwpy) dan pada Python modern (3.4?) akan menjadi target yang jauh lebih mudah?

Mungkin menggunakan Clang frontend dengan VC++ CodeGen akan menjadi jalur tercepat untuk membuat build Windows bekerja -> Dentang dengan Microsoft CodeGen di VS 2015 Update 1 . Project dirancang untuk menyediakan toolchain yang bekerja secara konsisten untuk pembuatan kode lintas platform yang terutama menargetkan windows, namun skenario di mana *nix code dikompilasi di windows bisa sama menariknya. Tim MSFT C++ menyatakan bahwa kode yang mereka tulis dikontribusikan kembali ke proyek LLVM sehingga harus memungkinkan kerja cepat dan bersama untuk mendapatkan dukungan lintas platform yang baik.

+1

+1

+1

+1

+1

+1

+1

+1 . Ini adalah paket Python pertama yang saya ingat tidak berfungsi di Windows. Tampaknya aneh bagi saya, karena pemahaman saya adalah bahwa driver NVIDIA selalu lebih baik di Windows daripada Linux, dan saya memiliki GTX 970 yang merasa bosan akhir-akhir ini.

Saya telah mem-porting sebagian besar tensorflow c++ ke windows build use vc 2013. sejauh ini sebagian besar kode yang dikompilasi dan ditautkan menggunakan file sumber saya sendiri. tantangan terbesar bagi saya untuk mengatasinya adalah: ia menggunakan variabel statis untuk mendaftarkan op dan kernel. Saya membuatnya sebagai perpustakaan statis dan tautan aplikasi ke sana akan melewatkan variabel statis itu. Saya harus menggunakan stub.cpp di folder aplikasi untuk memasukkan ops dan kernel yang digunakan.

@ yuanhua8 apakah ada kemungkinan Anda mendorong perubahan Anda ke repo github? BTW, saya memecahkan masalah registrasi statis di caffe dengan menggunakan dumpin untuk menghasilkan header yang memaksa kesukaan simbol. Lihat https://github.com/BVLC/caffe/pull/2816 dan https://github.com/willyd/caffe/tree/msvc untuk detailnya.

Semoga Tensorflow asli untuk Windows akan segera siap, mungkin harus menunggu hingga bazel untuk Windows stabil, senang mencoba kursus Deep Learning oleh Google dan Udacity!

FYI Dukungan Windows untuk Bazel saat ini merupakan salah satu prioritas utama kami . Pantau terus.

Sama di sini, saya memulai kursus pembelajaran mendalam yang ditawarkan oleh Google dan di sini saya mandek karena saya menjalankan Windows.
Kapan kita harus mengharapkan dukungan untuk Windows?

Saya perhatikan banyak orang menghadapi masalah menjalankan ini di bawah Windows, jadi saya menulis cepat tentang cara mengaturnya di bawah Windows menggunakan Vagrant dan Docker:

https://medium.com/@Rapchik/running -google-s-deep-learning-course-material-under-windows-82d468b6d5be

@umarniz Terima kasih atas panduannya. Namun, menurut saya, apa yang diharapkan kebanyakan orang di sini adalah TensorFlow berjalan secara native di Windows karena dukungan GPU . Sayangnya itu tidak berfungsi dengan Docker sejauh yang saya tahu atau solusi lain menggunakan virtualisasi ...

@SeveQ Saya sepenuhnya setuju dan saya pribadi lebih suka menggunakan Linux untuk semua eksperimen ML saya karena kemudahan pengaturan beberapa lingkungan pemrograman yang unik. Panduan ini dimaksudkan untuk menjalankan materi kursus dari Google karena set pelatihan dan contoh yang mereka miliki adalah untuk pemula dengan set data yang lebih kecil yang seharusnya dapat berjalan di lingkungan CPU saja juga.

@umarniz Baiklah, tidak bermaksud merendahkan usaha Anda. Tentu saja tidak! Anda melakukan pekerjaan yang hebat menulis itu! Terima kasih lagi!

Omong-omong, hanya untuk menyebutkan ini... contoh Deep MNIST, yang diakui sudah tidak sesederhana itu lagi, membutuhkan beberapa jam pada CPU saya sedangkan GPU saya (GTX 980Ti) melewatinya paling lama dalam beberapa detik. Di Ubuntu asli itu. Saya sudah menyiapkannya di stik USB. Ia bekerja, namun dual boot bisa sangat rumit dan faktor demotivasi besar. Terlebih lagi karena Windows yang dihibernasi pada sistem UEFI bisa sangat pilih-pilih dalam hal mengakses data pada partisi NTFS dari Linux...

Tentu, saya sangat setuju bahwa Linux (Ubuntu) adalah OS terbaik untuk tugas ML karena itulah yang digunakan kebanyakan orang, dan bukan tanpa alasan. Namun tetap ada kekurangannya bagi orang-orang antusias seperti saya yang tidak hanya melakukan ML untuk mencari nafkah tetapi juga sebagai penghobi, dan yang memiliki hobi paralel lain yang mengandalkan Windows... seperti bermain game misalnya.

Saya rasa itulah beberapa masalah dunia pertama yang saya sangat ingin selesaikan.

@SeveQ saya juga tidak menganggapnya seperti itu :)

Saya setuju dengan dual boot yang menyebalkan, saya harus benar-benar pindah ke Ubuntu selama beberapa bulan jika tidak, menjadi sangat rumit untuk beralih tetapi saya suka kekuatan yang diberikan bash shell untuk bekerja dengan kumpulan data besar.

Saya pikir saya akan melihat apa yang dapat saya lakukan untuk membantu menambahkan dukungan Windows untuk TensorFlow sendiri.

+1

@umarniz Kedengarannya bagus. Sayangnya, saya tidak punya waktu sekarang untuk mendedikasikan diri saya untuk ini. Prioritas lain seperti kelulusan... Dukungan Windows untuk TensorFlow akan sangat membantu dalam hal ini. Saya lulus sebagai MSc., insinyur sistem, yang berspesialisasi dalam, siapa sangka, pembelajaran mesin ...

setiap pembaruan tentang ini

Saya membuat port kode c++ ke cabang internal kami. Maaf tidak dapat memublikasikan kembali karena membutuhkan ketergantungan cabang kode kami. Temukan beberapa celah btw c++ dan Python. Tetapi mesin inti bekerja untuk saya di lingkungan windows/Vc kami.
H y

dikirim dari iPhone saya

Pada 30 Januari 2016, pukul 2:46 pagi, datashinobi [email protected] menulis:

setiap pembaruan tentang ini


Balas email ini secara langsung atau lihat di GitHub.

Untuk semua yang ingin menggunakan Tensorflow dan dapat menyerahkan dukungan GPU di sini adalah Blogpost tentang menginstal Tensorflow dengan dukungan notebook jupyter untuk Windows dengan Docker.

Pembaruan pada dukungan Windows untuk Bazel: kumpulan tambalan awal untuk membuat Bazel berfungsi di Windows telah digabungkan (lihat bazelbuild/bazel#276), dan @dslomov telah berhasil membuat Bazel melakukan bootstrap sendiri di Windows .

Kami berencana untuk memiliki dukungan eksperimental untuk Windows di Bazel 0.3 . Jika Anda ingin mengikuti kemajuan kami, lihat masalah yang ditandai "Windows" di pelacak masalah Bazel.

C:\Users\Desktop>docker run -it b.gcr.io/tensorflow/tensorflow

Tidak dapat menemukan gambar 'b.gcr.io/tensorflow/t ensorflow:latest ' secara lokal

buruh pelabuhan: Respons kesalahan dari daemon: tidak dapat melakukan ping ke titik akhir registri https://bg
cr.io/v0/
Upaya ping v2 gagal dengan kesalahan: Dapatkan https://b.gcr.io/v2/ : panggil tcp 64.233.188
.82:443: waktu i/o habis

Adakah berita tentang dapat menggunakan TensorFlow di Windows, tanpa Docker?
Seberapa sulitkah untuk menawarkan proses pembuatan CMake yang berfungsi baik untuk Linux dan Windows (membuat proyek MVS)?

Saya menulis instruksi untuk menginstal tensorflow pada mesin virtual CentOS. Jika Anda mengalami masalah saat bekerja dengan Docker, ini mungkin solusi Anda.

Teman-teman jika Anda menginstal bash di Windows menggunakan tensorflow pratinjau pengembang baru tidak menginstal dan agak berfungsi. Jadi Anda dapat menggunakannya untuk menjalankannya di Windows tanpa menggunakan buruh pelabuhan. (Dan itu mungkin akan meningkatkan bash untuk Windows karena lebih banyak orang menggunakannya.)

Itu luar biasa.
Menggunakan bash di Windows adalah harapan terbesar saya untuk menggunakan tensorflow di Windows.

Pertanyaan terbesar adalah apakah Anda dapat menggunakan driver GPU?

Itulah alasan utama orang meminta instalasi tensorflow asli di windows. Kalau tidak, dukungan cpu baik-baik saja melalui buruh pelabuhan atau mesin virtual Linux

Saya tidak memiliki pengetahuan tentang itu tetapi kita harus bertanya kepada tim Windows tentang itu.
Orang-orang mendapatkan program GUI untuk bekerja melalui windows tetapi tidak menggunakan CPU
GPU jadi saya pikir saat ini tidak memiliki akses
Pada 19 Apr 2016 17:37, "hayder78" [email protected] menulis:

Itu luar biasa.
Menggunakan bash di Windows adalah harapan terbesar saya untuk menggunakan tensorflow di Windows.

Pertanyaan terbesar adalah apakah Anda dapat menggunakan driver GPU?

Itulah alasan utama orang meminta instalasi tensorflow asli
di jendela. Kalau tidak, dukungan cpu baik-baik saja melalui buruh pelabuhan atau Linux
mesin virtual


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung atau lihat di GitHub
https://github.com/tensorflow/tensorflow/issues/17#issuecomment -212156142

Ya. Saya membaca bahwa program GUI yang dijalankan melalui bash di windows akan menggunakan driver GPU generik. Yang artinya tidak menggunakan driver nvidia.

Mari kita berdoa agar Google sedang mengerjakan tensorflow di Windows di bawah tenda.

Saya pikir bash untuk Windows perlu waktu untuk cukup matang dan bebas bug. Sementara itu mungkin VM dan buruh pelabuhan akan menjadi pilihan yang lebih baik.

Saya sekarang membuat pilihan antara tensorflow dan CNTK.

+1 untuk dukungan asli Windows, termasuk GPU.

Tautan untuk mengikuti masalah Windows Bazel yang disediakan oleh @davidzchen tidak berfungsi, yang benar adalah https://github.com/bazelbuild/bazel/labels/category%3A%20windows

(Saya tahu semua orang mengharapkan dukungan asli Windows + GPU, saya juga menunggu, tetapi kami harus menunggu hingga Bazel untuk Windows stabil, membantu dalam pengujian dan berkontribusi pada Bazel mungkin akan mempercepat prosesnya)

+1 lain untuk windows dengan dukungan GPU. Meskipun TF tampaknya merupakan pilihan yang lebih baik, saya harus beralih ke Theano karena kurangnya dukungan GPU di windows. Akan lebih baik jika ada penyebutan di peta jalan TF, apakah dukungan akan tersedia di rilis mendatang, karena akan membantu banyak peneliti dalam pengambilan keputusan.

+1

+1

Satu berita menarik: @shanselman menulis posting blog tentang menjalankan TensorFlow di Bash untuk Windows.

Kami masih berniat untuk memberikan dukungan Windows kelas satu, tetapi pengguna yang suka bertualang mungkin menganggap ini cara yang baik untuk memulai sementara waktu.

@mrry Hai Derek Murray,
Saya senang mendengar dari Anda - sebagai insinyur perangkat lunak Google - bahwa Anda bermaksud memberikan dukungan windows asli untuk tensorflow. Apakah Anda bagian dari tim pengembang tensorflow di Google?

Setidaknya aku punya harapan sekarang.

Adakah perkiraan kasar kapan akan rilis beta?

+1 lain, sangat tertarik untuk melihat ini terjadi. Jika dan ketika Bazel benar-benar berjalan di Windows, akankah TF benar-benar dikompilasi di platform? Atau apakah ada masalah portabilitas lain juga misalnya jaringan, panggilan sistem file?

+1

Teman-teman, bisakah Anda menggunakan reaksi GitHub daripada menulis "+1" di pesan baru? Saat ini menghasilkan banyak spam untuk orang-orang yang berlangganan pembaruan di utas ini. Terima kasih!

+1 untuk reaksi GitHub!

Nah bazel tampaknya berfungsi sebagian besar waktu di windows sekarang, selain dari beberapa kesalahan nama (karakter ilegal atau perintah yang sangat panjang). Pasti ada masalah untuk mendapatkan tensorflow windows yang berfungsi selain hanya memiliki bazel yang berfungsi. Semua kesalahan yang saya dapatkan sejauh ini bertipe:
ERROR: C:/tensorflow-orig/tensorflow/contrib/metrics/BUILD:16:1: in linkshared attribute of cc_binary rule //tensorflow/contrib/metrics:python/ops/_set_ops.so: 'linkshared' used in non-shared library. Since this rule was created by the macro 'tf_custom_op_library', the error might have been caused by the macro implementation in C:/tensorflow-orig/tensorflow/tensorflow.bzl:599:31.
Jadi saya kira aturan build perlu diperbarui untuk windows terlebih dahulu.

Peta jalan resmi tensorflow :
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/resources/roadmap.md

Dukungan Windows adalah bagian dari peta jalan masa depan yang ditargetkan untuk beberapa bulan ke depan!

@Sabrewarrior Saya mencoba membangun tensorflow di windows menggunakan bazel, tetapi file konfigurasi hanya memberikan beberapa kesalahan. Saya ingin tahu apakah Anda mengubah atau menambahkan beberapa bagian pada file itu agar didukung di windows

@Fhrozen https://github.com/Sabrewarrior/tensorflow/blob/test/tf_win_env.txt
Ini adalah paket yang saya instal ketika saya menjalankan konfigurasi tanpa perubahan apa pun. Saya menjalankan ini di msys2 dengan python 2.7 pada mesin Windows 10.

@Sabrewarrior terima kasih atas jawabannya. Saya memeriksanya, apakah spasi di nama folder masalah saya.
Sekarang saya mendapatkan kesalahan ini pada versi cuda.

`Silakan tentukan gcc nvcc mana yang harus digunakan sebagai kompiler host. [Defaultnya adalah /mingw64/bin/gcc]:
Harap tentukan versi Cuda SDK yang ingin Anda gunakan, misalnya 7.0. [Biarkan kosong untuk menggunakan default sistem]: 7.5
Harap tentukan lokasi di mana CUDA 7.5 toolkit dipasang. Lihat README.md untuk lebih jelasnya. [Defaultnya adalah /usr/local/cuda]: C:/CUDA/v7.5
Harap tentukan versi Cudnn yang ingin Anda gunakan. [Biarkan kosong untuk menggunakan default sistem]: 4.0.7
Harap tentukan lokasi di mana perpustakaan cuDNN 4.0.7 diinstal. Lihat README.md untuk lebih jelasnya. [Defaultnya adalah C:/CUDA/v7.5]: cuda/
Harap tentukan daftar kemampuan komputasi Cuda yang dipisahkan koma yang ingin Anda buat.
Anda dapat menemukan kemampuan komputasi perangkat Anda di: https://developer.nvidia.com/cuda-gpus.
Harap perhatikan bahwa setiap kemampuan komputasi tambahan secara signifikan meningkatkan waktu pembuatan dan ukuran biner Anda.

Menyiapkan Cuda termasuk
Menyiapkan Cuda
ln: fallo al crear el enlace simbólico '../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/CUDA': Tidak ada file atau direktori seperti itu
ln: fallo al crear el enlace simbólico '../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/7.5.props': Tidak ada file atau direktori seperti itu
ln: fallo al crear el enlace simbólico '../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/CUDA': Tidak ada file atau direktori seperti itu
ln: fallo al crear el enlace simbólico '../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/7.5.targets': Tidak ada file atau direktori seperti itu
ln: fallo al crear el enlace simbólico '../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/CUDA': Tidak ada file atau direktori seperti itu
ln: fallo al crear el enlace simbólico '../../../third_party/gpus/cuda/extras/visual_studio_integration/MSBuildExtensions/7.5.xml': Tidak ada file atau direktori seperti itu
xargs: bash: selesai dengan status 255; menggugurkan
`

@Fhrozen AFAIK Anda tidak dapat menggunakan gcc sebagai kompiler untuk CUDA di Windows. Hanya Visual C++ Compiler yang didukung oleh CUDA di Windows ( lihat di sini ).

+1

LAGI! TOLONG JANGAN MEMBUAT KOMENTAR YANG TIDAK BERGUNA _+1_! GUNAKAN REAKSI GITHUB BUKAN!

+1

berhenti +1!!!

Saya ulangi, hentikan +1 demi $%{^¥! Siapapun yang berkomentar +1 setelah ini adalah idiot! :-P Gunakan reaksi Github, sial!

Bisakah seseorang memberi saya semacam status moderator? Saya ingin membersihkan masalah ini dari komentar +1 yang tidak berguna.

Hai tim. Saya mencoba memahami pekerjaan apa yang perlu dilakukan untuk dapat menggunakan TensorFlow di Windows (10, saya kira) dengan dukungan GPU melalui CUDA. Dari apa yang saya ketahui sejauh ini, itu mengesampingkan Docker karena Docker tidak dapat mengakses GPU host, dan berarti kita harus menggunakan cl.exe Visual Studio (yang digunakan Bazel untuk Windows).

Dari situ, apakah hanya Bazel for Windows saja yang perlu dikembangkan? Apakah itu satu-satunya ketergantungan yang tidak terpuaskan di sini? Senang dikoreksi dalam hal apa pun.

Jika saya ingin mengaktifkan Bash di Windows, saya perlu memeriksa Subsistem Windows untuk Linux (Beta) bukan? Tetapi saya tidak dapat menemukan menu ini di dialog Fitur Windows. Saya mengikuti panduan di sini dan di sini .
Apakah saya perlu mencentang kotak Hyper-V di dialog Fitur Windows?
Saya juga sudah mengaktifkan mode Pengembang di pengaturan.

Sepertinya saya harus meninggalkan fitur bash Windows beta ini dan enggan menggunakan Docker?

@ off99555 Anda Windows 10 harus memiliki rilis pratinjau terbaru (Fast Ring). Periksa build Anda, jika lebih rendah dari ~14000, maka Anda belum memiliki fitur ini. (Pembaruan ini akan menjadi GA 2 Agustus)

Halo,

Untuk dukungan Tensorflow Windows, apakah kita akan dapat membangun Windows Binaries yang bukan binari msys2? Ini masuk akal karena dimungkinkan untuk melakukan penerapan aktual pada sebagian besar mesin pengguna.

Jika ini tidak memungkinkan, dapatkah kita memiliki cara untuk menerapkan versi pass/forward pass prediksi dari library yang dipreteli untuk tujuan ini? Saya dapat berlatih di Linux dengan baik tetapi untuk proses prediksi yang sebenarnya, saya ingin dapat menggunakan kotak Windows biasa tanpa msys2. Apakah ini ada di peta jalan?

Jika Anda melihat apa yang dilakukan CNTK:
https://github.com/Microsoft/CNTK/wiki/Native-Evaluation-Interface

Mereka memiliki cara yang jauh lebih mudah untuk melakukan evaluasi/prediksi menggunakan DLL yang dipreteli. Bisakah kita memiliki sesuatu seperti ini di Tensorflow juga untuk Windows (dan platform lain yang dapat saya bayangkan akan sangat berguna).

Terima kasih!

Saya tidak mengerti mengapa Anda menambahkan dukungan untuk Mac OS dan bukan Windows. Anda tidak dapat menggunakan GPU CUDA normal di sebagian besar Mac. Ini adalah platform yang tidak berguna untuk pelatihan pembelajaran mendalam

Bisakah tim memberi tahu kami tentang perkiraan untuk dukungan windows asli?

@mrry secara aktif mengerjakan ini dan dapat memberikan lebih banyak pembaruan tentang ini jika Anda memiliki pertanyaan khusus.

@aselle Terima kasih atas pembaruan yang bermanfaat, sangat dihargai!

@mrry Halo, bagaimana spesifikasi implementasi Windows akan diluncurkan?

1) Apakah kami akan memiliki (idealnya) solusi VS2015 yang dapat kami buat dengan aplikasi/alat kami? Metode cmake yang menghasilkan solusi VS juga berfungsi.

2) Apakah ini akan menjadi perpustakaan yang ditautkan secara statis atau yang ditautkan secara dinamis?

3) Apakah akan ada modul/pustaka forward pass/evaluasi ringan yang dapat kami gunakan untuk penerapan dengan alat/aplikasi kami?

Sumber daya saat ini yang dapat saya temukan tentang penerapan tensorflow dengan aplikasi mandiri C++ ada di sini:
https://medium.com/jim-fleming/loading-a-tensorflow-graph-with-the-c-api-4caaff88463f#.7ejb8h7zk

Perhatian utama saya adalah apa yang dinyatakan di sini:
"Buildnya sangat besar, berukuran 103 MB, bahkan untuk contoh sederhana ini. Sebagian besar untuk TensorFlow, dukungan CUDA, dan banyak dependensi yang tidak pernah kami gunakan. Ini terutama benar karena C++ API tidak mendukung banyak fungsi saat ini, karena sebagian besar TensorFlow API hanya untuk Python. Mungkin ada cara yang lebih baik untuk menautkan ke TensorFlow (mis. perpustakaan bersama) tetapi saya belum membuatnya berfungsi."

Jika ada cara yang lebih baik untuk menyiasati menautkan perpustakaan statis besar, itu akan bagus, terutama untuk tujuan meneruskan/evaluasi yang tidak benar-benar membutuhkan dukungan GPU.

Terima kasih!

@mrry Bagaimana orang lain bisa terlibat dalam hal ini? Bagaimana kami dapat membantu agar TensorFlow berjalan di Windows sesegera mungkin? Setidaknya kami dapat membantu dengan pengujian dan pelaporan bug.

+1

Ada update di windows? apa yang diperlukan untuk menjalankannya secara native karena GPU juga tersedia?

Kami membutuhkan dukungan windows!!!!
Bisakah tim memberi tahu kami tentang perkiraan untuk dukungan windows asli?

Tidak ada jendela? mengapa? setidaknya versi CPU saja?

Berikut adalah ringkasan dari apa yang menurut saya terjadi dalam masalah dukungan Windows ini:

Tensorflow membutuhkan Bazel untuk membangun dari sumber, Jika saya tidak salah, Bazel adalah sistem build seperti GNU Make, tetapi bukan kompiler.

Berdasarkan apa yang saya lihat saat saya memindai kode secara singkat, kode sumber Tensorflow sendiri sebagian besar menggunakan pustaka C++ standar untuk hal-hal seperti threading sehingga seharusnya tidak ada masalah untuk dikompilasi di Windows, pustaka pihak ketiga penting yang digunakan semuanya memiliki dukungan Windows.

Oleh karena itu, saya pikir masalah utama terletak pada kurangnya metode build untuk Windows daripada kode sumber itu sendiri. Ada pekerjaan menggunakan CMake untuk membangun, bukan Bazel, tetapi belum selesai. Jika seseorang dapat menerjemahkan aturan pembuatan Bazel ke CMake, saya pikir kita akan dapat membuatnya di Windows.

Dukungan Bazel yang stabil untuk Windows masih jauh .

Mohon koreksi saya jika saya membuat kesalahan di sini.

@eiva Jika Anda menginginkan dukungan khusus CPU, Anda dapat menjalankan Tensorflow di mesin virtual. Saya sudah menjalankannya di Ubuntu 14 pada Windows 10 Host tanpa masalah.

@rongjiecomputer Sejujurnya saya bertanya-tanya mengapa mereka menggunakan Bazel sama sekali ...

@eiva Ada juga wadah Docker siap pakai yang dapat Anda gunakan di host Windows. Bekerja di luar kotak. Tidak terlalu menyenangkan bekerja dengan tensorflow tanpa dukungan GPU. Untuk hal-hal keren setidaknya satu GPU adalah persyaratan. Anda tentu saja dapat menjalankan hal-hal dasar seperti regresi linier atau logistik tanpa GPU. Tapi itu bukan setelan panjang tensorflow. Ini dibuat untuk tugas pembelajaran mendalam yang pada dasarnya membutuhkan GPU.

@marklit saya sudah menggunakannya dengan cara ini, tetapi sebagian besar aplikasi saya berjalan di windows, dan sebagian besar pengembangan terjadi di windows ... Tidak mudah untuk beralih os setiap kali saya melakukan sesuatu dengan bagian sistem yang berbeda ...

@Loo Rong
Spekulasi Anda benar!
https://www.quora.com/Why-did-Google-decide-to-use-Bazel-with-TensorFlow/answer/Derek-Murray-3

Pada 12 Sep 2016 12:17, "Eugene Ivanchenko" [email protected]
menulis:

@marklit https://github.com/marklit saya sudah menggunakannya dengan cara ini, tetapi kebanyakan
aplikasi saya berjalan di windows, dan sebagian besar pengembangan sedang berlangsung
windows... Tidak mudah untuk mengganti os setiap kali saya melakukan sesuatu dengan
bagian yang berbeda dari sistem ...


Anda menerima ini karena Anda berlangganan utas ini.
Balas email ini secara langsung, lihat di GitHub
https://github.com/tensorflow/tensorflow/issues/17#issuecomment -246239719,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AEBIBhhA-t1MrFnddm5k-wER0KAm_p30ks5qpNJTgaJpZM4GexU4
.

Terima kasih atas semua minat Anda pada TensorFlow di Windows! Kami membuat kemajuan di dua bidang utama:

  1. Mengadaptasi file Bazel BUILD TensorFlow agar berfungsi di Windows. Anda mungkin telah melihat beberapa pull request terbaru dari @meteorcloudy ke arah itu (seperti #4449), dan rencana akhir kami adalah memiliki dukungan penuh untuk membangun TensorFlow, menggunakan Bazel, di Windows.
  2. Memodifikasi runtime TensorFlow untuk membangun dengan compiler Visual C++ 2015. Saya telah mengerjakan upaya ini, dan perbedaan antara HEAD dan cabang kerja saya semakin kecil setiap hari. Untuk saat ini, saya menggunakan CMake untuk membangun TensorFlow menggunakan Visual Studio/MSBuild, tetapi saya berencana untuk beralih ke Bazel ketika file BUILD bekerja lintas platform.

Kami berharap untuk segera mengumumkannya, dengan paket PIP biner dan instruksi untuk membangun TensorFlow di Windows. Sementara itu, kami akan memperbarui masalah ini ketika kami memiliki berita untuk dibagikan.


Menanggapi pertanyaan spesifik dari @kestrelm :

  1. Saat ini saya menggunakan CMake untuk menghasilkan solusi VS dengan banyak proyek, dan kami akan menggabungkannya sebagai bagian dari item (2) di atas.
  2. Paling tidak, kita dapat menghasilkan ekstensi Python DLL yang berisi runtime dan semua kernel (setara dengan tensorflow/python/_pywrap_tensorflow.so ), dan memberikan instruksi untuk membangun biner C++ yang ditautkan secara statis (setara dengan tensorflow/cc/tutorials/example_trainer.cc ).
  3. Kita dapat dengan mudah membuat versi runtime dengan fitur-fitur tersebut (seperti subset Android dari kernel terkait inferensi dalam DLL di belakang C API), meskipun mungkin tidak akan menjadi bagian dari rilis awal. Namun, dimungkinkan untuk memodifikasi file build untuk membuat target yang memiliki properti ini, dan saya akan dengan senang hati membantu siapa saja yang mencoba melakukannya.

Kerja yang luar biasa, @mrry!

Kami berharap untuk segera membuat pengumuman, dengan paket PIP biner dan instruksi untuk membangun TensorFlow di Windows

Bisakah Anda memberikan perkiraan kasar kapan pengumuman itu akan dilakukan? Saya tidak sabar!

@mrry : Derek, pembaruan yang solid. Apakah Anda memiliki rilis GPU biner (BETA) sebelum kerangka makefile/kompiler lainnya mengeras? Setidaknya orang bisa mencoba melawan Python API ...

Guru yang terhormat:

Saya mencoba membangun tensorflow dari kode sumber di Windows 10. Ini melaporkan bazel sudah didukung di Windows meskipun mungkin tidak stabil. Namun demikian saya punya satu bekerja.
Namun, ketika saya mencoba membangun tensorflow, ada dua masalah, pertama ini menunjukkan "bazel clean --expunge_async" gagal dengan masalah izin. Saya yakin itu tidak terlalu parah. Masalah selanjutnya sedikit vital karena menghalangi build. itu melaporkan:

...
INFO: Ditemukan 1 target...
INFO: Menulis penjelasan tentang pembangunan kembali ke 'logfile'
GALAT: file input hilang '@local_config_cuda// cuda :lib64/libcublas.so '.
GALAT: C:/tensorflow/tensorflow/tools/pip_package/ BUILD:23 :1: //tensorflow/tools/pip_ package:build_pip_package : file input hilang '@local_config_cuda// cuda :lib64/libcublas.so '.
Target //tensorflow/tools/pip_ package:build_pip_package gagal dibuat
GALAT: C:/tensorflow/tensorflow/tools/pip_package/ BUILD:23 :1 1 file input tidak ada.
INFO: Waktu yang berlalu: 34.644 detik, Jalur Kritis: 1.52 detik

Sebenarnya selama proses konfigurasi, saya sengaja menonaktifkan dukungan GPU, jadi mengapa mencoba memuat perpustakaan dinamis yang terkait dengan CUDA?

Karena saya menonaktifkan dukungan GPU, pustaka rintisan dibuat dengan benar dengan ukuran nol dan dengan ekstensi file DLL. Namun, seperti pada pesan kesalahan, saya tidak tahu dari mana persyaratan memuat pustaka terkait CUDA berasal. Saya memeriksa beberapa file tetapi masih tidak tahu. Sementara itu, saya juga berpikir file tersebut ditulis dengan buruk, karena seharusnya mencari file DLL alih-alih file SO. Namun saya masih tidak memiliki petunjuk.

Adakah yang punya ide untuk masalah ini? Terima kasih banyak.

Seperti yang mungkin telah Anda lihat dengan penggabungan PR #4778, kami sekarang memiliki dukungan awal untuk membangun TensorFlow di Windows menggunakan CMake. Ini mendukung pembuatan versi TensorFlow khusus CPU untuk digunakan dalam program pelatih contoh C++, dan paket PIP untuk penggunaan Python. Untuk detail dan petunjuk selengkapnya tentang cara membuat TensorFlow dari sumber di Windows, lihat readme CMake .

Ini adalah kode kualitas alfa, dan kami berharap ada bug di versi awal ini. Jika Anda menemukannya, harap angkat masalah GitHub baru untuk masalah tertentu.

Fokus kami sekarang beralih untuk mendapatkan dukungan GPU untuk TensorFlow di Windows, dan beralih ke build umum berbasis Bazel untuk Windows dan Linux. Jika Anda memiliki permintaan fitur lain, silakan angkat masalah GitHub baru.

Saya menggunakan proyek prebuilt ini https://github.com/shishaochen/TensorFlow-0.8-Win , tetapi tidak mendukung GPU.

@mrry Hai, Derek, hargai kontribusi Anda untuk TensorFlow.
@cesardelgadof Hai, Cesar, terima kasih atas informasinya.

Namun, menurut saya kendala yang sebelumnya menghambat membangun TensorFlow di platform Windows adalah tidak tersedianya bazel di Windows. Karena sekarang sudah tersedia, meskipun mungkin tidak stabil, jadi menurut saya lebih baik kita mencoba menyelesaikan masalah terlebih dahulu saat membangun TensorFlow menggunakan bazel.

Saya pribadi berpikir orang-orang di Google, jika mereka memiliki rencana untuk mendukung build asli di Windows, mereka mungkin akan memilih bazel. Dan begitu solusi resmi tersedia, saya kira orang akan beralih dari cmake ke bazel. Jadi jika ada hari seperti itu, mengapa kita bekerja sama agar hari itu datang lebih awal?

Meskipun demikian saya akan mencoba versi cmake, dan semoga orang lain juga akan mencoba sistem build bazel. Mungkin kita dapat mengetahui dari mana kesalahan buruk itu berasal, dan menemukan file konfigurasi yang ditulis dengan buruk.

Terima kasih untuk kalian semua.

@mrry Terima kasih atas kontribusi utamanya! Saya sudah mencoba mengikuti instruksi Anda. Semua tampaknya berfungsi dengan sempurna (sekitar 45 menit) hingga gagal dengan:

Target "BeforeGenerateProjectPriFile" yang tercantum dalam atribut BeforeTargets di "C:\Program Files (x86)\MSBuild\Microsoft\NuGet\Microsoft.NuGet.targets (186.61)" tidak ada dalam proyek, dan akan diabaikan.
Selesai Membangun Proyek "H:\PycharmProjects\tensorflow\tensorflow\contrib\cmake\build\tf_python_build_pip_package.vcxproj" (target default) -- GAGAL.

"H:\PycharmProjects\tensorflow\tensorflow\contrib\cmake\build\tf_python_build_pip_package.vcxproj" (target default) (1) ->
"H:\PycharmProjects\tensorflow\tensorflow\contrib\cmake\build\pywrap_tensorflow.vcxproj" (target default) (3) ->
"H:\PycharmProjects\tensorflow\tensorflow\contrib\cmake\build\tf_core_cpu.vcxproj" (target default) (4) ->
"H:\PycharmProjects\tensorflow\tensorflow\contrib\cmake\build\tf_core_framework.vcxproj" (target default) (5) ->
(Target CustomBuild) ->
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): kesalahan MSB6006: "cmd.exe" keluar dengan kode 1. [H:\PycharmProjects \T
ensorflow\tensorflow\contrib\cmake\build\tf_core_framework.vcxproj]

30 Warning(s)
1 Error(s)

@laudney Terima kasih telah mencobanya, dan saya menyesal melihat Anda mendapatkan kesalahan! Karena masalah ini memiliki banyak pelanggan, saya telah membuat masalah #4798 untuk melacak perbaikan untuk masalah ini, jadi mari kita lanjutkan diskusi di sana.

@mingyr Kami berharap TensorFlow dapat membangun Windows dengan Bazel sesegera mungkin. @meteorcloudy telah melakukan pekerjaan yang luar biasa untuk mewujudkannya, dan dia baru saja mengirim PR #4796, yang memungkinkan Bazel membangun //tensorflow/cc:tutorials_example_trainer di Windows. Kami akan bertujuan untuk segera menggabungkannya.

@mrry Terima kasih untuk #4798 , sekarang dibangun dengan baik, juga menguji python whl install dan sejauh ini tidak ada masalah yang ditemukan.

Berharap untuk melihat tensorflow di conda segera.

Gunakan Tensorflow pada lingkungan tervirtualisasi karena Docker/VirtualBox adalah solusi yang sangat buruk. Tensorflow harus berjalan di Windows secara asli. (Dan karena sebagian besar dikodekan dengan Python seharusnya tidak menjadi masalah buat distribusi untuk Windows.)

Halo semuanya! Seperti yang disebutkan oleh @mrry , saya sedang mengerjakan TensorFlow Windows build dengan Bazel. Dengan PR #4796 dan PR #4874 digabungkan, pelatih contoh C++ sekarang dibangun di Windows dengan Bazel 0.3.2 !

Berikut adalah instruksi singkat tentang cara membangun TF dengan Bazel di Windows:

  • Instal Bazel di Windows ( petunjuk instalasi )
  • Siapkan lingkungan yang dibutuhkan Bazel untuk membangun C++ dengan MSVC
  • Klon repositori TF, jalankan ./configure di MSYS
  • Jalankan bazel build -c opt --cpu=x64_windows_msvc --host_cpu=x64_windows_msvc //tensorflow/cc:tutorials_example_trainer --verbose_failures

Untuk kenyamanan, Anda dapat menempatkan opsi build di ~/.bazelrc , milik saya seperti:

build -c opt
build --cpu=x64_windows_msvc --host_cpu=x64_windows_msvc
build --copt="/w"                  # Suppress some warning messages
build --experimental_ui            # Enable a nice UI 

Masalah yang diketahui adalah bahwa skrip pembungkus MSVC Bazel tidak mendukung python3 di Bazel 0.3.2, tetapi sudah diperbaiki di https://github.com/bazelbuild/bazel/commit/ce5c33dd7e96aff0cf1eb993edd41a5fe8c423f2. Anda dapat menyelesaikannya dengan menyetel BAZEL_PYTHON ke biner python 2.7 atau membangun Bazel dari HEAD.

Membangun pelatih contoh C++ dengan Bazel membutuhkan waktu sekitar 20 menit pada mesin saya (Windows 7, CPU 2.9GHz, RAM 64G), pembangunan tambahan setelah mengubah beberapa file sumber (yaitu array_ops.cc ) adalah sekitar 1 menit.

Saya juga membuat beberapa kemajuan dalam membangun paket python PIP di Windows dengan Bazel, saya akan mengirimkan PR sesegera mungkin.

Coba buat TensorFlow dengan Bazel di Windows, dan beri tahu kami apa yang bisa kami tingkatkan!

@meteorcloudy , Hai, Yun:
Pelatih contoh C++ harus dibuat oleh biner bazel bawaan yang diinstal pada Windows, atau dapatkah saya menyinkronkan ke bazel versi git terbaru, dan menggunakan bazel yang dibuat khusus?

Sebenarnya saya memilih cara yang kedua, menggunakan customer build bazel, namun komplainnya sebagai berikut:

GALAT: C:/tensorflow/tensorflow/core/ BUILD:108 :1: output 'tensorflow/core/exampl e/example.pb.h' tidak dibuat.
GALAT: C:/tensorflow/tensorflow/core/ BUILD:108 :1: output 'tensorflow/core/exampl e/example_parser_configuration.pb.h' tidak dibuat.
GALAT: C:/tensorflow/tensorflow/core/ BUILD:108 :1: output 'tensorflow/core/exampl e/example.pb.h' tidak dibuat.
GALAT: C:/tensorflow/tensorflow/core/ BUILD:108 :1: output 'tensorflow/core/exampl e/feature.pb.h' tidak dibuat.
......

Prosedur build yang saya ambil:
$ cd c:/tensorflow
$ export Java_HOME="$(ls -d C:/Program\ Files/Java/jdk* | sort | tail -n 1)"
$ ekspor BAZEL_SH=c:/tools/msys64/usr/bin/bash.exe
$ export BAZEL_VS="C:/Program Files (x86)/Microsoft Visual Studio 14.0"
$ ekspor BAZEL_PYTHON=C:/Python27/python.exe
$ export PATH=$PATH:/c/Python27:/c/Python27/Scripts:/c/tools/swigwin-3.0.10:/c/bazel/output

./konfigurasi

bazel build -c opt --cpu=x64_windows_msvc --host_cpu=x64_windows_msvc //tensorflow/cc:tutorials_example_trainer --verbose_failures

Ada saran?

Terima kasih.

@meteorcloudy Hai Yun,

Saya telah mengikuti prosedur serupa tetapi saya mendapatkan kesalahan berikut:
cd C:/tools/msys64/var/tmp/Bazel/V1uFCi$H/execroot/tensorflow
bazel-out/host/bin/external/protobuf/protoc.exe --cpp_out=bazel-out/vc_14_0_x64-opt/genfiles/ --plugin=protoc-gen-grpc=bazel-out/host/bin/external/grpc /grpc_cpp_plugin.exe --grpc_out=bazel-out/vc_14_0_x64-opt/genfiles/ -I. -Iexternal/protobuf/src -Ibazel-out/vc_14_0_x64-opt/genfiles/external/protobuf/src tensorflow/core/debug/debug_service.proto: com.google.devtools.build.lib.shell.BadExitStatusException: Proses keluar dengan status 1.
azel-out/vc_14_0_x64-opt/genfiles/external/protobuf/src: peringatan: direktori tidak ada.

Saya memeriksa folder dan tidak ada direktori src di protobuf. Juga tidak ada folder grpc di bazel_out/Host/bin/external/ (jadi tidak ada file grpc_cpp_plugin.exe).

kesalahan ini diikuti oleh banyak kesalahan bahwa file dalam tensorflow/core tidak dibuat

Ada ide bagaimana cara memperbaikinya?

Terima kasih

@mingyr @karthiek Terima kasih telah mencoba membangun TF dengan Bazel!
Sayangnya, menurut http://ci.bazel.io/job/TensorFlow/ , TF build bahkan gagal di Linux dengan Bazel di HEAD dengan kesalahan serupa yang Anda berikan. Kami sedang memperbaikinya, sementara itu, bisakah Anda mencoba lagi dengan Bazel 0.3.2 ?

@meteorcloudy Hai Yun:

Apa yang Anda maksud dengan "bisakah Anda mencoba lagi dengan Bazel 0.3.2"?

Maksud Anda biner Windows prebuilt resmi, atau kami dapat menyinkronkan ke versi bazel terbaru, dan menggunakan build saya?

Sebenarnya saya sudah menyinkronkan ke bazel versi terbaru dan menggunakan build. Jika Anda menunjukkan bahwa saya harus mencoba biner prebuilt resmi untuk melihat apakah masalahnya masih tertunda, beri tahu saya.

BR

@mingyr Ya, maksud saya "biner prebuilt resmi". Saya mengalami kesalahan yang sama setelah menyinkronkan ke HEAD.
Silakan lihat https://github.com/bazelbuild/bazel/issues/1929

@meteorcloudy Hai, Yun

Terima kasih untuk sarannya. Saya mencoba menggunakan 0,3.2 biner yang telah dikompilasi sebelumnya dan dapat mengkompilasi dan menghasilkan file tutorilas_example_trainer.exe.

@karthiek Senang sekali Anda berhasil! Berapa lama waktu yang dibutuhkan? Apakah lebih cepat dari build CMake?

@meteorcloudy Butuh sekitar 15 menit (Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz). Baru kemarin saya perlu membangun aliran tensor di windows. Jadi, saya langsung mencoba metode terakhir yang Anda sarankan. Saya tidak mencoba membangunnya menggunakan CMake.

Hai, saya mencoba mengikuti pendekatan @meteorcloudy tetapi berakhir dengan kesalahan seperti di bawah ini. Adakah yang bisa membantu?

bazel build -c opt --cpu=x64_windows_msvc --host_cpu=x64_windows_msvc //tensorflow/cc:tutorials_example_trainer --verbose_failures
INFO: Target yang dianalisis //tensorflow/cc:tutorials_example_trainer.
INFO: Ditemukan 1 target...
GALAT: C:/Programming/tensorflow/tensorflow/core/ BUILD:1064 :1: Menjalankan genrule //tensorflow/ core:version_info_gen gagal: bash.exe gagal: perintah mengeksekusi kesalahan
cd C:/tools/msys64/var/tmp/Bazel/s5nfxnhX/execroot/tensorflow
SET PATH=C:\tools\msys64\usr\local\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\opt\bin;C :\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\tools\msys64\usr\bin\site_perl;C:\ tools\msys64\usr\bin\vendor_perl;C:\tools\msys64\usr\bin\core_perl;C:\Program Files\Google;C:\WinPython-64bit-2.7.10.2\python-2.7.10.amd64; C:\WinPython-64bit-2.7.10.2\python-2.7.10.amd64\Scripts;C:\tools\swigwin-3.0.10;C:\Program Files\java\jdk1.8.0_102\bin
C:/tools/msys64/usr/bin/bash.exe -c source external/bazel_tools/tools/genrule/genrule-setup.sh; tensorflow/tools/git/gen_git_source.py --generate tensorflow/tools/git/gen/spec.json tensorflow/tools/git/gen/head tensorflow/tools/git/gen/branch_ref "bazel-out/vc_14_0_x64-opt/ genfiles/tensorflow/core/util/version_info.cc": com.google.devtools.build.lib.shell.BadExitStatusException: Proses keluar dengan status 1
Traceback (panggilan terakhir terakhir):
File "tensorflow/tools/git/gen_git_source.py", baris 258, di
hasilkan(args.generate)
File "tensorflow/tools/git/gen_git_source.py", baris 210, di generate
git_version = get_git_version(data["jalur"])
File "tensorflow/tools/git/gen_git_source.py", baris 151, di get_git_version
"--long", "--dirty", "--tags"]).strip()
File "C:\WinPython-64bit-2.7.10.2\python-2.7.10.amd64\lib\subprocess.py", baris 566, di check_output
proses = Popen(stdout=PIPE, _popenargs, *_kwargs)
File "C:\WinPython-64bit-2.7.10.2\python-2.7.10.amd64\lib\subprocess.py", baris 710, di init
salah tulis, salah tulis)
File "C:\WinPython-64bit-2.7.10.2\python-2.7.10.amd64\lib\subprocess.py", baris 958, di _execute_child
informasi awal)
WindowsError: [Error 2] Sistem tidak dapat menemukan file yang ditentukan
GALAT: C:/tools/msys64/var/tmp/Bazel/s5nfxnhX/external/jpeg_archive/ BUILD:74 :1: menyatakan output 'external/jpeg_archive/jconfig.h' tidak dibuat oleh genrule. Ini mungkin karena genrule sebenarnya tidak membuat keluaran ini, atau karena keluarannya adalah direktori dan genrule dijalankan dari jarak jauh (perhatikan bahwa hanya konten keluaran file yang dideklarasikan yang disalin dari genrule yang dijalankan dari jarak jauh)
GALAT: C:/tools/msys64/var/tmp/Bazel/s5nfxnhX/external/gif_archive/ BUILD:35 :1: menyatakan output 'external/gif_archive/windows/unistd.h' tidak dibuat oleh genrule. Ini mungkin karena genrule sebenarnya tidak membuat keluaran ini, atau karena keluarannya adalah direktori dan genrule dijalankan dari jarak jauh (perhatikan bahwa hanya konten keluaran file yang dideklarasikan yang disalin dari genrule yang dijalankan dari jarak jauh)
Target //tensorflow/cc:tutorials_example_trainer gagal dibuat
INFO: Waktu yang berlalu: 4,967 detik, Jalur Kritis: 0,96 detik
GAGAL: Build TIDAK berhasil diselesaikan

@bssrdf gejala Anda tampak mirip dengan https://github.com/bazelbuild/bazel/issues/1463.
Ini adalah masalah umum bazel di Windows yang kami pecahkan jika ruang kerja Anda tidak berada di drive C: .

Jika itu masalahnya, solusinya adalah membuat persimpangan - jika checkout tensorflow Anda dalam d:\src\tensorflow , berikut ini akan berfungsi

C:\> mklink /j d_src d:\src
C:\> cd c:\d_src\tensorflow
C:\D_SRC\TENSORFLOW> bazel build ...

Lihat https://github.com/bazelbuild/bazel/issues/1463#issuecomment -251967323
Mohon maaf atas ketidaknyamanannya, hal ini sedang kami perbaiki secepatnya.

@bssrdf hmm pada pandangan kedua mungkin bukan - mungkinkah Anda tidak memiliki git di PATH?

@meteorcloudy Hai, Yun:

Saya juga mengonfirmasi bahwa tidak ada masalah saat mengompilasi pelatih contoh C++ menggunakan bazel biner versi 0.3.2 yang telah dikompilasi sebelumnya.

Notebook saya sudah tua dan sementara itu menjalankan tugas lain, jadi waktu kompilasi tidak masuk akal dari perspektif penandaan bangku.

Terima kasih atas pekerjaan Anda dan lihat jauh ke depan untuk mengkompilasi paket python PIP di Windows

BR

@mingyr Bagus sekali!
Tetapi hanya pemberitahuan untuk semua orang, pelatih contoh tidak dapat dibangun di TF HEAD, karena perbaikan saya dikembalikan ke be3bc472a52571a83f048479d6a4fa528b5a495e untuk beberapa alasan.
Kabar baiknya adalah, membangun paket python PIP dengan Bazel sudah dekat! Silakan lihat PR #4942

@dslomov terima kasih atas jawabannya. Saya memang harus menyelesaikan bazel non-c: masalah ruang kerja drive seperti yang Anda sarankan. Saya menginstal git untuk windows dan git dapat dilihat di PATH oleh MSYS2.

Saya baru saja meluncurkan kembali perintah bazel build dan itu berfungsi sekarang, seperti keajaiban. Aku tidak tahu apa yang terjadi kemarin. Bagaimanapun, ini hanyalah konfirmasi kesuksesan di Windows 10 home, edisi komunitas VS 2015, bazel bawaan 0.3.2 dan Winpython-2.7.10.2

Terima kasih banyak untuk pekerjaan Yun.

@meteorcloudy , apakah mungkin untuk membangun versi GPU mengikuti prosedur (tentu saja dengan perubahan pada bazel build)?

@mrry Hai Derek, terima kasih atas kontribusi Anda, tetapi saya memiliki masalah dengan tensorboard ini, tidak berfungsi:

C:\Users\Cesar\Documents\Notebooks\DeepLearning>tensorboard --logdir='./my_graph/'
Traceback (most recent call last):
  File "c:\program files\anaconda3\lib\runpy.py", line 184, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Anaconda3\Scripts\tensorboard.exe\__main__.py", line 5, in <module>
ImportError: No module named 'tensorflow.tensorboard'

@bssrdf Mungkin tidak, karena kodenya belum mendukung GPU di Windows. @mrry melakukan semua pekerjaan membuat kompilasi kode TF dengan MSVC, dan dia telah berfokus pada perbaikan dukungan GPU.

Apakah kita memiliki semacam tebakan terpelajar tentang ETA untuk penggunaan produksi?

Karena tampaknya relevan bagi orang-orang di sini yang menggunakan Bazel di Windows; saya membuat paket cokelat untuk mempermudah instalasi. https://chocolatey.org/packages/bazel. Silakan mencobanya dan jika ada masalah (ini _baru), tweet atau angkat masalah di bazelbuild/bazel.

Dukungan GPU keluar berkat @mrry dan @guschmue.
Instruksi akan diperbarui di readme .

Adakah yang bisa mengkompilasi di Windows dan membuat paket PIP? Terima kasih. :)

master (66f979714c9a8582059f383ec1505d13c9e8c523) harus membangun ok untuk cpu dan gpu windows. Instruksi ada di tensorflow/contrib/cmake/README.md (untuk saat ini gunakan cmake 3.6).

Tensorboard tidak termasuk?, karena tidak berfungsi:

C:\Users\Cesar\Documents\Notebooks\DeepLearning>tensorboard --logdir='./my_graph/'
Traceback (most recent call last):
  File "c:\program files\anaconda3\lib\runpy.py", line 184, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Anaconda3\Scripts\tensorboard.exe\__main__.py", line 5, in <module>
ImportError: No module named 'tensorflow.tensorboard'

Beberapa modul python hilang dari pip: contoh, beberapa contrib dan tensorboard, tidak disalin ke roda saat membangun dengan cmake.
Biarkan saya memeriksa apa itu hanya masalah menambahkannya dengan opsi ke tf_python.cmake atau jika ada komplikasi.

Saya mengkompilasi tensorflow untuk python sesuai instruksi, tetapi saya mendapatkan error yang berasal dari cudnn saat menggunakan tf.nn.conv2d di GPU saya.

Contoh kode yang menyebabkan crash adalah

import tensorflow as tf
import numpy as np
sess = tf.InteractiveSession()
image = tf.placeholder(tf.float32, shape=[None, 10, 10, 1], name='image')
kernel = tf.truncated_normal([5, 5, 1, 1], stddev=0.1)
conv = tf.nn.conv2d(image, kernel, strides=[1, 1, 1, 1], padding='SAME')
sess.run(tf.initialize_all_variables())
sess.run(conv, feed_dict={image: [np.zeros((10, 10, 1))]})

Ini menyebabkan proses python macet dan memberikan output ini di konsol jupyter

WARNING:root:kernel 800a0f42-d62b-4128-a61a-ba64ee725ca8 restarted
I d:\tensorflow\tensorflow\tensorflow\stream_executor\dso_loader.cc:125] successfully opened CUDA library cublas64_80.dll locally
I d:\tensorflow\tensorflow\tensorflow\stream_executor\dso_loader.cc:125] successfully opened CUDA library cudnn64_5.dll locally
I d:\tensorflow\tensorflow\tensorflow\stream_executor\dso_loader.cc:125] successfully opened CUDA library cufft64_80.dll locally
I d:\tensorflow\tensorflow\tensorflow\stream_executor\dso_loader.cc:125] successfully opened CUDA library nvcuda.dll locally
I d:\tensorflow\tensorflow\tensorflow\stream_executor\dso_loader.cc:125] successfully opened CUDA library curand64_80.dll locally
I d:\tensorflow\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:944] Found device 0 with properties:
name: GeForce GTX 970
major: 5 minor: 2 memoryClockRate (GHz) 1.3165
pciBusID 0000:01:00.0
Total memory: 4.00GiB
Free memory: 3.31GiB
I d:\tensorflow\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:965] DMA: 0
I d:\tensorflow\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:975] 0:   Y
I d:\tensorflow\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1034] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 970, pci bus id: 0000:01:00.0)
E d:\tensorflow\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:662] Could not identify NUMA node of /job:localhost/replica:0/task:0/gpu:0, defaulting to 0.  Your kernel may not have been built with NUMA support.
E d:\tensorflow\tensorflow\tensorflow\stream_executor\cuda\cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
E d:\tensorflow\tensorflow\tensorflow\stream_executor\cuda\cuda_dnn.cc:392] error retrieving driver version: Permission denied: could not open driver version path for reading: /proc/driver/nvidia/version
E d:\tensorflow\tensorflow\tensorflow\stream_executor\cuda\cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F d:\tensorflow\tensorflow\tensorflow\core\kernels\conv_ops.cc:532] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

Saat bermain-main dengan mencoba versi cudnn64_5.dll yang berbeda, saya dapat membuat kode berfungsi sekali dan mengonfirmasi bahwa GPU sedang digunakan, tetapi bahkan setelah mencoba semua versi cudnn yang saya diunduh, saya tidak beruntung membuatnya berfungsi untuk kedua kalinya.

mencoba skrip Anda dan itu berfungsi untuk saya. Kami menguji hanya dengan cudnn5.1, semua yang lebih tua saya tidak tahu.
Saya akan mendapatkan instalasi bersih cudnn5.1, membangun dengan itu dan memastikan cudnn64_5.dll di PATH adalah 5.1.
Hal lain yang perlu diperiksa: memori bebas Anda sedikit lebih rendah dari yang saya harapkan - apakah mungkin ada python lain yang menjalankan perangkat yang membuka perangkat?

Saya mencoba membangun kembali bersih dengan cudnn baru yang diunduh dan di PATH ( cudnn-8.0-windows10-x64-v5.1 ) tetapi tidak ada cerutu. cudnn64_5.dll dari unduhan ini adalah 'Versi file': 6.14.11.8000 dan memiliki 'Deskripsi file': NVIDIA CUDA 80.0.29 CUDNN Library .

cublas64_80.dll dari jalur CUDA 8.0 memiliki 'Versi file' yang sama tetapi 'Deskripsi file': NVIDIA CUDA 80.0.45 BLAS Library

cufft64_80.dll dan curand64_80.dll juga memiliki 'Versi file' yang cocok tetapi 8.0.44 dalam 'Deskripsi file'

Driver GPU yang saya instal adalah versi 369.30 dari driver CUDA terbaru dan nvcuda.dll di System32 memiliki 'Versi file': 6.14.13.6930 dan memiliki 'Deskripsi file': NVIDIA CUDA 80.0.44 driver .

Saya percaya memori perangkat yang rendah hanya karena saya memiliki 970 yang hanya memiliki 3,5GB memori yang berguna dan CUDA tidak suka menggunakan 0,5GB terakhir.

Saya memiliki versi cudnn yang sama dan berfungsi dengan baik untuk saya. Ada banyak tes conv python di pohon tf dan semuanya lulus. Saya kebanyakan menggunakan 970 untuk pengujian. Log Anda spesifik sehingga mengalami masalah saat menginisialisasi cudnn. Mari saya lihat kode init.

OK masalahnya tampaknya adalah masalah driver. Saya berhasil menggunakan cudnn dan convolutions sekali setiap kali saya me-restart driver video (menggunakan device manager nonaktifkan lalu aktifkan). Namun, setelah saya menggunakannya dalam satu proses, penggunaan di masa mendatang gagal untuk diinisialisasi.

Selain itu, saya pikir proses lain mengalami crash terkait driver setelah cudnn diinisialisasi.


Pembaruan: Saya telah menghapus dan menginstal ulang driver grafis saya dan sekarang saya dapat memiliki satu proses (kernel jupyter) dengan cudnn berfungsi dengan benar, tetapi sampai saya menutup kernel itu, setiap upaya untuk menggunakan cudnn di kernel lain akan mengalami crash yang sama. Jika saya me-restart kernel yang berfungsi, saya dapat menjalankan kode di kernel yang berbeda tanpa harus memuat ulang driver.

Itu dikompilasi untuk saya, tetapi saya harus menambahkan Shell=True di baris 150 dari file gen_git_source.py. Kalau tidak, saya akan mendapatkan kesalahan yang sama seperti yang ditunjukkan di:
http://stackoverflow.com/questions/24306205/file-not-found-error-when-launching-a-subprocess

@synap5e jika Anda menjalankan ini dalam tf.Session() normal, instance kedua tidak akan berfungsi karena tf mengelola semua memori di gpu. Anda dapat mengubah konfigurasi untuk Session() seperti ini:
konfigurasi = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
dengan tf.Session(config=config) sebagai sess:
...
dengan itu saya dapat menjalankan 2 skrip dalam satu lingkaran yang mengenai cudnn. Ini sama di linux.
Tetapi crash berbeda di windows - di linux mendapat CUDA_ERROR_OUT_OF_MEMORY, di windows mendapatkan CUDNN_STATUS_NOT_INITIALIZED. Akan melihat ini.

Ah jadi masalahnya adalah sistem saya menggunakan terlalu banyak memori video bahkan sebelum memulai tensorflow. Saya kira hal-hal driver hanya menurunkan memori perangkat bekas sehingga tensorflow dapat diinisialisasi dengan benar. Terima kasih!

Guys, apakah mungkin untuk membangun di Windows tanpa MSVS? Windows 10 SDK seharusnya berisi kompiler C++, bukankah itu cukup untuk tugas itu?

@zandaqo Anda hanya perlu kompiler MSVC mandiri dengan Windows 10 SDK dan CMake, jadi tidak perlu menginstal seluruh Visual Studio. Windows 10 SDK berisi dll, perpustakaan statis, file header dan kode sumber untuk perpustakaan dan beberapa alat yang berguna, tetapi tidak mengandung kompiler.

Halo!

Saya baru mengenal Python dan Tensorflow, tetapi saya telah melakukan beberapa hal MNIST di masa lalu. Saya mengikuti instruksi pada tensorflow/contrib/cmake/README.md, dan itu berfungsi dengan baik, GPU tampaknya juga berfungsi dengan baik. Tensorflow di Windows tampaknya rusak di beberapa tempat, seperti yang diharapkan, dan saya hanya ingin memeriksa apakah pemahaman saya tentang kerusakan itu benar.

Saya mencoba mengikuti https://www.tensorflow.org/versions/r0.11/tutorials/mnist/beginners/index.html dan tidak berhasil, karena jalur impor ini (tensorflow.examples.tutorials.mnist) tidak ada. Ini pada akhirnya karena tf.contrib tidak termasuk dalam paket pip, bukan?

Hanya karena penasaran, saya melakukan sesuatu yang tampaknya sangat buruk: Saya menyalin konten repo tensorflow ke lokasi lib di site-packages\tensorflow, yang saya duga akan menyebabkan banyak hal rusak. Begini cara rusaknya:

  File "C:\Program Files\Anaconda3\lib\site-packages\tensorflow\contrib\framework\python\ops\variables.py", line 23, in <module>
    from tensorflow.contrib.framework.python.ops import gen_variable_ops
ImportError: cannot import name 'gen_variable_ops'

Saya tidak dapat menemukan definisi gen_variable_ops di mana pun, tetapi dokumentasi mengatakan bahwa tf.load_op_library() saat ini tidak diimplementasikan. Jadi, gen_variable_ops diimplementasikan di tempat lain, yang perlu dimuat menggunakan tf.load_op_library() . Jadi, kurangnya tf.load_op_library yang menyebabkan masalah, bukan?

Saya telah berhasil membangun paket pip dengan mengikuti jalur cmake, dan menginstalnya dengan pip install tensorflow-0.11.0rc1_cmake_experimental-py3-none-any.whl yang melaporkan instalasi yang berhasil. Namun, ketika saya mencoba mengimpor tensorflow, saya mendapatkan kesalahan berikut:

>>> import tensorflow as tf
Traceback (most recent call last):
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 906, in create_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\__init__.py", line 54, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 21, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 20, in swig_import_helper
    return importlib.import_module('_pywrap_tensorflow')
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\__init__.py", line 23, in <module>
    from tensorflow.python import *
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\__init__.py", line 60, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 577, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 906, in create_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\__init__.py", line 54, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 21, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 20, in swig_import_helper
    return importlib.import_module('_pywrap_tensorflow')
  File "C:\Users\Tester\AppData\Local\Programs\Python\Python35\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow'


Error importing tensorflow.  Unless you are using bazel,
you should not try to import tensorflow from its source directory;
please exit the tensorflow source tree, and relaunch your python interpreter
from there.

Apakah saya melewatkan ketergantungan di sini atau ada yang salah dengan build/instalasi?

@zandaqo , saya mendapatkan masalah ini ketika saya pertama kali menjalankan tensorflow di Windows. Anda hanya perlu mengkompilasi contoh, dan menambahkan folder dengan contoh yang dikompilasi ke jalur Anda. Saat Anda mengompilasi kode sampel, beberapa DLL yang diperlukan untuk Tensorflow juga akan dikompilasi.

@ErivaldoJunior Dengan menyusun contoh, maksud Anda ini: MSBuild /p:Configuration=Release tf_tutorials_example_trainer.vcxproj ? Saya melakukan itu sebelum mengkompilasi paket pip. Itu dikompilasi ke .\Release , apakah itu folder yang akan ditambahkan ke path? Saya baru saja mencoba menambahkannya, tetapi sejauh ini tidak berhasil.

Saya memang melihat file bernama pywrap_tensor disebutkan dalam kesalahan di folder .\Release itu, mungkin menyalinnya secara manual di suatu tempat mungkin membantu Python untuk melihatnya. Tidak yakin di mana meskipun.

@zandaqo , itu benar. Saya baru saja menambahkan folder Rilis itu ke jalur Windows saya dan itu berhasil. Namun, saya menguji dengan meluncurkan python my_tensorflow_script.py dari jendela CMD. Saya tidak tahu apakah itu berfungsi jika Anda menggunakan semacam IDE atau iPython.

@ErivaldoJunior Terima kasih, Anda benar tentang DLL yang hilang, meskipun dalam kasus saya ternyata zlib.dll yang hilang dari paket dan folder .\Release . Saya telah menyalin zlib.dll secara manual ke dalam folder, seperti yang disarankan di sini dan impor sekarang berfungsi.

Saya berhasil membangun tensorflow! Tetapi cmake 3.3.1 menyebabkan kesalahan pembuatan, 3.6.3 berfungsi dengan baik.

Senang mendengarnya! Kami akan menyambut PR dengan versi minimum yang sesuai
pernyataan dalam file cmakelist.

Pada hari Sabtu, 5 November 2016, Takahiro [email protected]
menulis:

Saya berhasil membangun tensorflow! Tapi cmake 3.3.1 menyebabkan kesalahan build,
3.6.3 berfungsi dengan baik.


Anda menerima ini karena Anda berkomentar.
Balas email ini secara langsung, lihat di GitHub
https://github.com/tensorflow/tensorflow/issues/17#issuecomment -258649999,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AAjO_Ys4MI03pcc3tCR_BzsqIXFrQTTcks5q7RVRgaJpZM4GexU4
.

@martinwicke seperti di sini tampaknya versi Cmake kerja minimum yang diketahui adalah 3.5. Haruskah saya mengubah persyaratan minimum menjadi 3,5 dan memperbarui readme untuk minimum 3,5 hingga 3,6?

Senang melihat bahwa TensorFlow sekarang dapat bekerja di Windows dengan GPU sekarang. Apakah ada rencana untuk versi yang tidak perlu diinstal dari sumber? Dan jika demikian, ada ETA tentang itu? Akan sangat bagus jika proses penyiapan semudah di Linux, saya menggunakan TensorFlow di Linux tanpa masalah dan ingin melakukannya di Windows, tetapi persyaratan dan proses penyiapan yang didokumentasikan dalam readme saat ini terlihat agak rumit bagi mereka. dari kita yang tidak punya banyak waktu...

Hai teman-teman! Dengan dirilisnya Bazel 0.4.0 , paket PIP TensorFlow sekarang dapat dibuat dengan Bazel di Windows.
Berkat kontribusi @petemounce , Anda dapat menggunakan choco install bazel --version 0.4.0 untuk menginstal Bazel dengan mudah.

@gunan telah menyiapkan pekerjaan ci untuknya: http://ci.tensorflow.org/job/tensorflow-pr-win-bazel/
Pada dasarnya, kami menggunakan skrip ini . Jadi dengan modifikasi yang tepat pada variabel lingkungan (jika instalasi Visual Studio, Python 3 atau msys Anda tidak berada di tempat standar), Anda juga dapat membangun paket PIP dengan Bazel!

Pembaruan: Saya akan merekomendasikan untuk menjalankan perintah dalam skrip secara manual jika Anda kesulitan menjalankannya secara langsung.

@meteorcloudy Terima kasih untuk pembaruan!
Membangun dengan bazel tidak bekerja untuk saya. Saya mendapatkan KESALAHAN: CreateFile(C:\tmp\Bazel\44EoGNou\install)
Adakah cara untuk men-debug itu? Saya telah melokalkan windows (Rusia), mungkin itu penyebabnya

Catatan lengkap. Berjalan di PowerShell sebagai admin:

C:\libs\tensorflow>c:\tools\msys64\usr\bin\bash -l C:\libs\tensorflow/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh
+ set -e
++ dirname 'C:\libs\tensorflow/tensorflow/tools/ci_build/windows/cpu/pip/build_tf_windows.sh'
+ script_dir='C:\libs\tensorflow/tensorflow/tools/ci_build/windows/cpu/pip'
+ cd 'C:\libs\tensorflow/'
+ export TMPDIR=C:/tmp
+ TMPDIR=C:/tmp
+ export BAZEL_SH=C:/tools/msys64/usr/bin/bash
+ BAZEL_SH=C:/tools/msys64/usr/bin/bash
+ export 'PYTHON_BIN_PATH=C:\tools\Anaconda3/python'
+ PYTHON_BIN_PATH='C:\tools\Anaconda3/python'
+ export 'BAZEL_PYTHON=C:\tools\Anaconda3/python'
+ BAZEL_PYTHON='C:\tools\Anaconda3/python'
+ export 'BAZEL_VS=C:/Program Files (x86)/Microsoft Visual Studio 14.0'
+ BAZEL_VS='C:/Program Files (x86)/Microsoft Visual Studio 14.0'
+ export 'PATH=/c/tools/bazel:/c/Program Files/Anaconda3:/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/'
+ PATH='/c/tools/bazel:/c/Program Files/Anaconda3:/usr/local/bin:/usr/bin:/bin:/opt/bin:/c/Windows/System32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0/'
+ bazel clean
Extracting Bazel installation...
ERROR: CreateFile(C:\tmp\Bazel\44EoGNou\install): ▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒.
 (2)
.....................................................................................................................................................................................................................................................................................................................................
INFO: Starting clean (this may take a while). Consider using --expunge_async if the clean takes more than several minutes.
++ bazel info output_base
+ output_base=C:/tmp/Bazel/44EoGNou
+ bazel shutdown
+ rm -rf C:/tmp/Bazel/44EoGNou
rm: невозможно удалить 'C:/tmp/Bazel/44EoGNou/server/jvm.out': Device or resource busy

@KhabarlakKonstantin Itu ( ERROR: CreateFile(C:\tmp\Bazel\44EoGNou\install) ) bazelbuild/bazel#1744 saya pikir. Itu hanya terjadi pertama kali setelah bazel dipasang. Sepertinya tidak ada dampak apapun.

@KhabarlakKonstantin Seperti yang ditunjukkan @petemounce , Anda dapat dengan aman mengabaikan kesalahan itu. Dan Anda juga dapat melewati rm -rf C:/tmp/Bazel/44EoGNou jika kesalahan Device or resource busy memblokir Anda. Saya kira itu karena ia mencoba menghapus jvm.out sebelum jvm dimatikan sepenuhnya setelah menjalankan bazel shutdown .

@petemounce @meteorcloudy Terima kasih atas bantuannya
Masalahnya adalah bahwa itu tidak mulai membangun. Saya telah berkomentar bazel shutdown dan sekarang berjalan sedikit lebih jauh, tetapi masih macet

INFO: Starting clean (this may take a while). Consider using --expunge_async if the clean takes more than several minutes.
++ bazel info output_base
+ output_base=C:/tmp/Bazel/44EoGNou
+ echo ''
+ ./configure
/c/libs/tensorflow /c/libs/tensorflow
Found possible Python library paths:
  C:\Program Files\Anaconda3\lib\site-packages
  C:\Program Files\Anaconda3
Please input the desired Python library path to use.  Default is [C:\Program Files\Anaconda3\lib\site-packages]
Using python library path: C:\Program Files\Anaconda3\lib\site-packages
Junction created for util\python\python_include <<===>> C:\Program Files\Anaconda3\include
Junction created for util\python\python_lib <<===>> C:\Program Files\Anaconda3\lib\site-packages
Junction created for third_party\py\numpy\numpy_include <<===>> C:\Program Files\Anaconda3\lib\site-packages\numpy\core\include

Tidak ada lagi keluaran di sini

@KhabarlakKonstantin Tampaknya konfigurasi OpenCL baru saja ditambahkan ke ./configure tetapi tidak dimatikan secara default di Windows, jadi jalankan skrip itu secara manual atau tambahkan export TF_NEED_OPENCL=0 sebelum echo "" | ./configure

pcloudy@PCLOUDY1-W MSYS ~/workspace/tensorflow
$ ./configure
~/workspace/tensorflow ~/workspace/tensorflow
Please specify the location of python. [Default is /c/Program Files/Anaconda3/python]:
Found possible Python library paths:
  C:\Program Files\Anaconda3\lib\site-packages
  C:\Program Files\Anaconda3
Please input the desired Python library path to use.  Default is [C:\Program Files\Anaconda3\lib\site-packages]

Using python library path: C:\Program Files\Anaconda3\lib\site-packages
Junction created for util\python\python_include <<===>> C:\Program Files\Anaconda3\include
Junction created for util\python\python_lib <<===>> C:\Program Files\Anaconda3\lib\site-packages
Junction created for third_party\py\numpy\numpy_include <<===>> C:\Program Files\Anaconda3\lib\site-packages\numpy\core\include
Do you wish to build TensorFlow with OpenCL support? [y/N] n
No OpenCL support will be enabled for TensorFlow
Configuration finished

Apakah ada orang lain yang mengalami kesalahan ini dengan Pragma (abaikan pywrap one)?

Membangun dengan GPU dan semua spesifikasi sesuai dengan readme.

@Carmezim , itu bekerja dengan baik untuk saya. Saya tidak mendapatkan kesalahan ini.

Saya punya pr untuk memperbaikinya di sini: https://github.com/tensorflow/tensorflow/pull/5421

@guschmue Bagus! Terima kasih atas respon cepatnya

Setelah memperbaiki _Pragma, inilah yang saya dapatkan di file yang sama:

C:/tensorflow/tensorflow/core/kernels/parameterized_truncated_normal_op_gpu.cu.cc(168): error : more than
one operator "/" matches these operands: [C:\tensorflow\tensorflow\contrib\cmake\build\tf_core_gpu_kernels.v
cxproj]

5421 akan memperbaiki ini juga.

Bisakah saya membangun dengan dukungan GPU menggunakan bazel?

@edwin100394 belum ada dukungan GPU di windows menggunakan bazel.
Kami masih mengerjakannya.

Pada hari Senin, 7 November 2016 jam 21:33, edwin100394 [email protected]
menulis:

Bisakah saya membangun dengan dukungan GPU menggunakan bazel?


Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/tensorflow/tensorflow/issues/17#issuecomment -259049695,
atau matikan utasnya
https://github.com/notifications/unsubscribe-auth/AHlCOXNRNoMFmnSPfnkTMLsRHcIcl9TXks5q8AmigaJpZM4GexU4
.

@meteorcloudy Menambahkan export TF_NEED_OPENCL=0 membantu saya melangkah lebih jauh

Sekarang saya mendapatkan kesalahan lain:

ERROR: C:/libs/tensorflow/tensorflow/core/BUILD:1115:1: Executing genrule //tensorflow/core:version_info_gen failed: bash failed: error executing command
  cd C:/tmp/Bazel/44EoGNou/execroot/tensorflow
  SET PATH=C:\tools;C:\tools\Anaconda;C:\tools\msys64\usr\local\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\usr\bin;C:\tools\msys64\opt\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\tools\msys64\usr\bin\site_perl;C:\tools\msys64\usr\bin\vendor_perl;C:\tools\msys64\usr\bin\core_perl
  C:/tools/msys64/usr/bin/bash -c source external/bazel_tools/tools/genrule/genrule-setup.sh; tensorflow/tools/git/gen_git_source.py --generate tensorflow/tools/git/gen/spec.json tensorflow/tools/git/gen/head tensorflow/tools/git/gen/branch_ref "bazel-out/vc_14_0_x64-py3-opt/genfiles/tensorflow/core/util/version_info.cc": com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1
Traceback (most recent call last):
  File "tensorflow/tools/git/gen_git_source.py", line 260, in <module>
    generate(args.generate)
  File "tensorflow/tools/git/gen_git_source.py", line 212, in generate
    git_version = get_git_version(data["path"])
  File "tensorflow/tools/git/gen_git_source.py", line 152, in get_git_version
    str("--work-tree=" + git_base_path), "describe", "--long", "--dirty", "--tags"
  File "C:\tools\Anaconda\lib\subprocess.py", line 626, in check_output
    **kwargs).stdout
  File "C:\tools\Anaconda\lib\subprocess.py", line 693, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\tools\Anaconda\lib\subprocess.py", line 947, in __init__
    restore_signals, start_new_session)
  File "C:\tools\Anaconda\lib\subprocess.py", line 1224, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
Target //tensorflow/tools/pip_package:build_pip_package failed to build
INFO: Elapsed time: 10.997s, Critical Path: 3.44s
FAILED: Build did NOT complete successfully

Saya sudah mulai dari awal dan saya telah membangun bazel dari sumber. Sekarang pembangunannya hampir sampai akhir

Gagal pada waktu tautan pada akhirnya:

ERROR: C:/libs/tensorflow/tensorflow/python/BUILD:1907:1: Linking of rule '//tensorflow/python:_pywrap_tensorflow.so' failed: msvc_link.bat failed: error executing command
  cd C:/tmp/Bazel/44EoGNou/execroot/tensorflow
  SET PATH=external/local_config_cc/wrapper/bin
  external/local_config_cc/wrapper/bin/msvc_link.bat /DLL /WHOLEARCHIVE -pthread -m64 -Xcompilation-mode=opt -Wl,@bazel-out/vc_14_0_x64-py3-opt/bin/tensorflow/python/_pywrap_tensorflow.so-2.params: com.google.devtools.build.lib.shell.BadExitStatusException: Process exited with status 1169
Warning: Unmatched arguments: -ldl -lm -ldl -lm
Warning: Unmatched arguments: -pthread
libversion_lib.a(version_info.o) : error LNK2005: "char const * __cdecl tf_compiler_version(void)" (?tf_compiler_version@@YAPEBDXZ) already defined in libframework_internal.lo(version_info.o)
libversion_lib.a(version_info.o) : error LNK2005: "char const * __cdecl tf_git_version(void)" (?tf_git_version@@YAPEBDXZ) already defined in libframework_internal.lo(version_info.o)
   Creating library bazel-out/vc_14_0_x64-py3-opt/bin/tensorflow/python/_pywrap_tensorflow.lib and object bazel-out/vc_14_0_x64-py3-opt/bin/tensorflow/python/_pywrap_tensorflow.exp
bazel-out/vc_14_0_x64-py3-opt/bin/tensorflow/python/_pywrap_tensorflow.so : fatal error LNK1169: one or more multiply defined symbols found
ERROR: C:/libs/tensorflow/tensorflow/python/BUILD:639:1: output 'tensorflow/python/gen_control_flow_ops_py_wrappers_cc.exe' was not created
ERROR: C:/libs/tensorflow/tensorflow/python/BUILD:698:1: output 'tensorflow/python/gen_resource_variable_ops_py_wrappers_cc.exe' was not created
Target //tensorflow/tools/pip_package:build_pip_package failed to build

Hai teman-teman, sekarang dukungan Windows yang belum sempurna sudah ada, saya akan mengunci masalah ini untuk komentar baru, tetapi tetap buka sampai kami memiliki rilis yang stabil. Maju:

  • Jika Anda memiliki masalah, buka masalah baru terhadap TensorFlow untuk menjelaskan masalah Anda, dan isi template masalah standar. Ini akan membantu kami melacak dan menetapkan sisa pekerjaan yang harus kami lakukan agar TensorFlow-on-Windows dirilis.
  • Kami akan terus menggunakan masalah ini untuk pengumuman (jarang) tentang dukungan Windows, sehingga Anda dapat terus berlangganan masalah ini untuk umpan lalu lintas rendah tentang peningkatan TensorFlow-on-Windows.

Sekali lagi, terima kasih atas semua minat Anda pada TensorFlow-on-Windows, dan sekarang kita akan kembali bekerja!

Hari ini kami mengumumkan dukungan Windows asli di TensorFlow 0.12 , dengan paket untuk Python 3.5. Jika Anda telah menginstal Python 3.5 versi 64-bit (baik dari Python.org atau Anaconda), Anda dapat menginstal TensorFlow dengan satu perintah:

C:\> pip install tensorflow

Untuk dukungan GPU, jika Anda telah menginstal CUDA 8.0, Anda dapat menginstal paket berikut sebagai gantinya:

C:\> pip install tensorflow-gpu

Sekarang Windows adalah konfigurasi yang didukung, saya akan menutup masalah ini; silakan buka edisi baru jika Anda memiliki masalah dengan paket-paket ini. Masih ada beberapa perbedaan antara paket Windows dan platform lain, yang diuraikan dalam catatan rilis . Kami akan bekerja selama beberapa minggu ke depan untuk menutup kesenjangan ini.

Terima kasih atas semua minat Anda pada TensorFlow di Windows!

Apakah halaman ini membantu?
0 / 5 - 0 peringkat