Matlab thiết lập môi trường python
Keras là một thư viện Python mã nguồn mở miễn phí mạnh mẽ và dễ sử dụng để phát triển và đánh giá các mô hình học sâu Show Nó là một phần của thư viện TensorFlow và cho phép bạn xác định cũng như huấn luyện các mô hình mạng thần kinh chỉ trong một vài dòng mã Trong hướng dẫn này, bạn sẽ khám phá cách tạo mô hình mạng thần kinh học sâu đầu tiên của mình bằng Python bằng Keras Bắt đầu dự án của bạn với cuốn sách mới của tôi Học sâu với Python, bao gồm các hướng dẫn từng bước và các tệp mã nguồn Python cho tất cả các ví dụ Bắt đầu nào
Từng bước phát triển mạng nơ-ron đầu tiên của bạn bằng Python với Keras Tổng quan về hướng dẫn KerasKhông yêu cầu nhiều mã, nhưng chúng tôi sẽ xem xét từ từ để bạn biết cách tạo các mô hình của riêng mình trong tương lai Các bước bạn sẽ học trong hướng dẫn này như sau
Hướng dẫn Keras này đưa ra một số giả định. Bạn sẽ cần phải có
Nếu bạn cần trợ giúp về môi trường của mình, hãy xem hướng dẫn
Tạo một tệp mới có tên là keras_first_network. py và nhập hoặc sao chép và dán mã vào tệp khi bạn thực hiện Cần trợ giúp về Deep Learning trong Python?Tham gia khóa học email 2 tuần miễn phí của tôi và khám phá MLP, CNN và LSTM (có mã) Nhấp để đăng ký ngay và cũng nhận được phiên bản PDF Ebook miễn phí của khóa học Bắt đầu khóa học nhỏ MIỄN PHÍ của bạn ngay bây giờ 1. Tải dữ liệuBước đầu tiên là xác định các hàm và lớp bạn định sử dụng trong hướng dẫn này Bạn sẽ sử dụng thư viện NumPy để tải tập dữ liệu của mình và hai lớp từ thư viện Keras để xác định mô hình của bạn Yêu cầu nhập khẩu được liệt kê dưới đây 1 2 3 4 5 # mạng thần kinh đầu tiên với hướng dẫn máy ảnh từ numpy nhập loadtxt từ tensorflow. máy ảnh. mô hình nhập Tuần tự từ tensorflow. máy ảnh. lớp nhập Mật độ .. . Bây giờ bạn có thể tải tập dữ liệu của chúng tôi Trong hướng dẫn Keras này, bạn sẽ sử dụng bộ dữ liệu khởi phát bệnh tiểu đường của người da đỏ Pima. Đây là bộ dữ liệu máy học tiêu chuẩn từ kho lưu trữ Máy học UCI. Nó mô tả dữ liệu hồ sơ y tế của bệnh nhân đối với người da đỏ Pima và liệu họ có mắc bệnh tiểu đường trong vòng năm năm hay không Như vậy, đây là một vấn đề phân loại nhị phân (khởi phát bệnh tiểu đường là 1 hoặc không phải là 0). Tất cả các biến đầu vào mô tả từng bệnh nhân là số. Điều này giúp dễ dàng sử dụng trực tiếp với các mạng thần kinh mong đợi các giá trị đầu vào và đầu ra bằng số và là lựa chọn lý tưởng cho mạng thần kinh đầu tiên của chúng tôi trong Keras Bộ dữ liệu có sẵn ở đây
Tải xuống tập dữ liệu và đặt nó vào thư mục làm việc cục bộ của bạn, cùng vị trí với tệp Python của bạn Lưu nó với tên tệp 1 pima-indians-diabetes. csv Hãy xem bên trong tập tin; 1 2 3 4 5 6 6,148,72,35,0,33. 6,0. 627,50,1 1,85,66,29,0,26. 6,0. 351,31,0 8,183,64,0,0,23. 3,0. 672,32,1 1,89,66,23,94,28. 1,0. 167,21,0 0,137,40,35,168,43. 1,2. 288,33,1 ... Bây giờ bạn có thể tải tệp dưới dạng ma trận số bằng cách sử dụng hàm NumPy loadtxt() Có tám biến đầu vào và một biến đầu ra (cột cuối cùng). Bạn sẽ học một mô hình để ánh xạ các hàng của biến đầu vào (X) thành biến đầu ra (y), thường được tóm tắt là y = f(X) Các biến có thể được tóm tắt như sau Biến đầu vào (X)
Biến đầu ra (y)
Khi tệp CSV được tải vào bộ nhớ, bạn có thể chia các cột dữ liệu thành các biến đầu vào và đầu ra Dữ liệu sẽ được lưu trữ trong một mảng 2D trong đó chiều thứ nhất là hàng và chiều thứ hai là cột, e. g. , [những hàng, những cột] Bạn có thể chia mảng thành hai mảng bằng cách chọn tập hợp con của các cột bằng cách sử dụng toán tử lát cắt NumPy tiêu chuẩn hoặc “. ”. Bạn có thể chọn tám cột đầu tiên từ chỉ mục 0 đến chỉ mục 7 thông qua lát cắt 0. 8. Sau đó chúng ta có thể chọn cột đầu ra (biến thứ 9) thông qua chỉ số 8 1 2 3 4 5 6 7 .. . # tải tập dữ liệu tập dữ liệu = loadtxt('pima-indians- . csv', dấu phân cách=',') # chia thành các biến đầu vào (X) và đầu ra (y) X = tập dữ liệu[. ,0. 8] y = tập dữ liệu[. ,8] .. . Bây giờ bạn đã sẵn sàng để xác định mô hình mạng thần kinh của mình Ghi chú. Tập dữ liệu có chín cột và phạm vi 0. 8 sẽ chọn các cột từ 0 đến 7, dừng trước chỉ số 8. Nếu điều này là mới đối với bạn, thì bạn có thể tìm hiểu thêm về cách cắt mảng và phạm vi trong bài đăng này
2. Xác định mô hình máy ảnhCác mô hình trong Keras được định nghĩa là một chuỗi các lớp Chúng tôi tạo một mô hình Tuần tự và thêm từng lớp một cho đến khi chúng tôi hài lòng với kiến trúc mạng của mình Điều đầu tiên cần làm đúng là đảm bảo lớp đầu vào có số lượng tính năng đầu vào chính xác. Điều này có thể được chỉ định khi tạo lớp đầu tiên với đối số input_shape và đặt nó thành Làm thế nào để chúng ta biết số lượng lớp và loại của chúng? Đây là một câu hỏi mẹo. Có những kinh nghiệm mà bạn có thể sử dụng và thường thì cấu trúc mạng tốt nhất được tìm thấy thông qua quá trình thử nghiệm và sai sót (tôi giải thích thêm về điều này tại đây). Nói chung, bạn cần một mạng đủ lớn để nắm bắt được cấu trúc của vấn đề Trong ví dụ này, hãy sử dụng cấu trúc mạng được kết nối đầy đủ với ba lớp Các lớp được kết nối đầy đủ được xác định bằng lớp Dense. Bạn có thể chỉ định số lượng nơ-ron hoặc nút trong lớp làm đối số đầu tiên và hàm kích hoạt bằng cách sử dụng đối số kích hoạt Ngoài ra, bạn sẽ sử dụng chức năng kích hoạt đơn vị tuyến tính được chỉnh lưu được gọi là ReLU trên hai lớp đầu tiên và chức năng Sigmoid trong lớp đầu ra Đã từng có trường hợp các hàm kích hoạt Sigmoid và Tanh được ưu tiên cho tất cả các lớp. Ngày nay, hiệu suất tốt hơn đạt được bằng cách sử dụng chức năng kích hoạt ReLU. Sử dụng sigmoid trên lớp đầu ra đảm bảo đầu ra mạng của bạn nằm trong khoảng từ 0 đến 1 và dễ dàng ánh xạ tới xác suất của lớp 1 hoặc bám vào phân loại cứng của một trong hai lớp với ngưỡng mặc định là 0. 5 Bạn có thể ghép tất cả lại với nhau bằng cách thêm từng lớp
1 2 3 4 5 6 7 .. . # xác định mô hình máy ảnh mô hình = Tuần tự() mô hình. thêm(Dày đặc(12, input_shape=(8,), activation='relu')) mô hình. thêm(Dày đặc(8, activation='relu')) mô hình. thêm(Dày đặc(1, activation='sigmoid')) .. . Ghi chú. Điều khó hiểu nhất ở đây là hình dạng của đầu vào cho mô hình được xác định như một đối số trên lớp ẩn đầu tiên. Điều này có nghĩa là dòng mã bổ sung Lớp dày đặc đầu tiên đang thực hiện hai việc, xác định lớp đầu vào hoặc lớp hiển thị và lớp ẩn đầu tiên 3. Biên dịch mô hình máy ảnhBây giờ mô hình đã được xác định, bạn có thể biên dịch nó Biên dịch mô hình sử dụng các thư viện số hiệu quả dưới vỏ bọc (cái gọi là phụ trợ) chẳng hạn như Theano hoặc TensorFlow. Chương trình phụ trợ tự động chọn cách tốt nhất để đại diện cho mạng để đào tạo và đưa ra dự đoán để chạy trên phần cứng của bạn, chẳng hạn như CPU, GPU hoặc thậm chí phân tán Khi biên dịch phải chỉ định thêm một số thuộc tính cần thiết khi huấn luyện mạng. Hãy nhớ đào tạo một mạng có nghĩa là tìm tập trọng số tốt nhất để ánh xạ đầu vào thành đầu ra trong tập dữ liệu của bạn Bạn phải chỉ định hàm mất mát sẽ sử dụng để đánh giá một tập hợp các trọng số, trình tối ưu hóa được sử dụng để tìm kiếm thông qua các trọng số khác nhau cho mạng và bất kỳ chỉ số tùy chọn nào bạn muốn thu thập và báo cáo trong quá trình đào tạo Trong trường hợp này, hãy sử dụng entropy chéo làm đối số mất mát. Sự mất mát này là do sự cố phân loại nhị phân và được định nghĩa trong Keras là “binary_crossentropy“. Bạn có thể tìm hiểu thêm về cách chọn hàm mất mát dựa trên vấn đề của mình tại đây
Chúng tôi sẽ định nghĩa trình tối ưu hóa là thuật toán giảm độ dốc ngẫu nhiên hiệu quả “adam“. Đây là phiên bản phổ biến của giảm dần độ dốc vì nó tự động điều chỉnh chính nó và cho kết quả tốt trong nhiều vấn đề. Để tìm hiểu thêm về phiên bản Adam của giảm dần độ dốc ngẫu nhiên, hãy xem bài đăng
Cuối cùng, vì đây là bài toán phân loại nên bạn sẽ thu thập và báo cáo độ chính xác của phân loại được xác định thông qua đối số số liệu 1 2 3 4 .. . # biên dịch mô hình máy ảnh mô hình. biên dịch(mất mát=', optimizer='adam', metrics=['accuracy']) .. . 4. Fit Keras ModelBạn đã xác định mô hình của mình và biên dịch nó để sẵn sàng cho việc tính toán hiệu quả Bây giờ là lúc để thực hiện mô hình trên một số dữ liệu Bạn có thể đào tạo hoặc điều chỉnh mô hình của mình trên dữ liệu đã tải bằng cách gọi hàm fit() trên mô hình Đào tạo diễn ra trong các kỷ nguyên và mỗi kỷ nguyên được chia thành các đợt
Một kỷ nguyên bao gồm một hoặc nhiều lô, dựa trên kích thước lô đã chọn và mô hình phù hợp với nhiều kỷ nguyên. Để biết thêm về sự khác biệt giữa kỷ nguyên và đợt, hãy xem bài đăng
Quá trình đào tạo sẽ chạy trong một số lượng kỷ nguyên cố định (lặp lại) thông qua tập dữ liệu mà bạn phải chỉ định bằng cách sử dụng đối số kỷ nguyên. Bạn cũng phải đặt số lượng hàng tập dữ liệu được xem xét trước khi trọng số mô hình được cập nhật trong mỗi kỷ nguyên, được gọi là kích thước lô và đặt bằng đối số batch_size Sự cố này sẽ chạy trong một số lượng nhỏ kỷ nguyên (150) và sử dụng kích thước lô tương đối nhỏ là 10 Các cấu hình này có thể được chọn bằng thử nghiệm và sai sót. Bạn muốn đào tạo mô hình đủ để nó học cách ánh xạ tốt (hoặc đủ tốt) các hàng dữ liệu đầu vào tới phân loại đầu ra. Mô hình sẽ luôn có một số lỗi, nhưng số lượng lỗi sẽ giảm dần sau một thời điểm đối với một cấu hình mô hình nhất định. Điều này được gọi là hội tụ mô hình 1 2 3 4 .. . # khớp mô hình máy ảnh trên tập dữ liệu mô hình. phù hợp(X, y, epochs=150, batch_size=10) .. . Đây là nơi công việc diễn ra trên CPU hoặc GPU của bạn Không yêu cầu GPU cho ví dụ này, nhưng nếu bạn quan tâm đến cách chạy các mô hình lớn trên phần cứng GPU với giá rẻ trên đám mây, hãy xem bài đăng này
5. Đánh giá mô hình KerasBạn đã đào tạo mạng thần kinh của chúng tôi trên toàn bộ tập dữ liệu và bạn có thể đánh giá hiệu suất của mạng trên cùng một tập dữ liệu Điều này sẽ chỉ cung cấp cho bạn ý tưởng về việc bạn đã lập mô hình tập dữ liệu tốt như thế nào (e. g. , đào tạo độ chính xác), nhưng không biết thuật toán có thể hoạt động tốt như thế nào trên dữ liệu mới. Điều này được thực hiện để đơn giản, nhưng lý tưởng nhất là bạn có thể tách dữ liệu của mình thành tập dữ liệu huấn luyện và thử nghiệm để huấn luyện và đánh giá mô hình của mình Bạn có thể đánh giá mô hình của mình trên tập dữ liệu đào tạo bằng cách sử dụng hàm đánh giá () và chuyển cho nó cùng một đầu vào và đầu ra được sử dụng để đào tạo mô hình Thao tác này sẽ tạo dự đoán cho từng cặp đầu vào và đầu ra, đồng thời thu thập điểm số, bao gồm cả tổn thất trung bình và bất kỳ số liệu nào bạn đã định cấu hình, chẳng hạn như độ chính xác Hàm đánh giá () sẽ trả về một danh sách có hai giá trị. Đầu tiên sẽ là mất mô hình trên tập dữ liệu và thứ hai sẽ là độ chính xác của mô hình trên tập dữ liệu. Bạn chỉ quan tâm đến độ chính xác của báo cáo nên bỏ qua giá trị hao hụt 1 2 3 4 .. . # đánh giá mô hình máy ảnh _, độ chính xác = mô hình.đánh giá(X, y) in('Độ chính xác. %. 2f' % (độ chính xác*100)) 6. Buộc tất cả lại với nhauBạn vừa thấy cách bạn có thể dễ dàng tạo mô hình mạng thần kinh đầu tiên của mình trong Keras Hãy liên kết tất cả lại với nhau thành một ví dụ mã hoàn chỉnh 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # mạng thần kinh đầu tiên với hướng dẫn máy ảnh từ numpy nhập loadtxt từ tensorflow. máy ảnh. mô hình nhập Tuần tự từ tensorflow. máy ảnh. lớp nhập Mật độ # tải tập dữ liệu tập dữ liệu = loadtxt('pima-indians- . csv', dấu phân cách=',') # chia thành các biến đầu vào (X) và đầu ra (y) X = tập dữ liệu[. ,0. 8] y = tập dữ liệu[. ,8] # xác định mô hình máy ảnh mô hình = Tuần tự() mô hình. thêm(Dày đặc(12, input_shape=(8,), activation='relu')) mô hình. thêm(Dày đặc(8, activation='relu')) mô hình. thêm(Dày đặc(1, activation='sigmoid')) # biên dịch mô hình máy ảnh mô hình. biên dịch(mất mát=', optimizer='adam', metrics=['accuracy']) # khớp mô hình máy ảnh trên tập dữ liệu mô hình. phù hợp(X, y, epochs=150, batch_size=10) # đánh giá mô hình máy ảnh _, độ chính xác = mô hình.đánh giá(X, y) in('Độ chính xác. %. 2f' % (độ chính xác*100)) Bạn có thể sao chép tất cả mã vào tệp Python của mình và lưu dưới dạng “keras_first_network. py” trong cùng thư mục với tệp dữ liệu của bạn “pima-indians-diabetes. csv“. Sau đó, bạn có thể chạy tệp Python dưới dạng tập lệnh từ dòng lệnh của mình (dấu nhắc lệnh) như sau 1 python keras_first_network. py Chạy ví dụ này, bạn sẽ thấy một thông báo cho mỗi trong số 150 kỷ nguyên, in ra độ mất mát và độ chính xác, tiếp theo là đánh giá cuối cùng của mô hình được đào tạo trên tập dữ liệu đào tạo Mất khoảng 10 giây để thực thi trên máy trạm của tôi chạy trên CPU Lý tưởng nhất là bạn muốn tổn thất về 0 và độ chính xác về 1. 0 (e. g. , 100%). Điều này là không thể đối với bất kỳ vấn đề nào ngoại trừ những vấn đề học máy tầm thường nhất. Thay vào đó, bạn sẽ luôn gặp một số lỗi trong mô hình của mình. Mục tiêu là chọn cấu hình mô hình và cấu hình đào tạo để đạt được tổn thất thấp nhất và độ chính xác cao nhất có thể cho một tập dữ liệu nhất định 1 2 3 4 5 6 7 8 9 10 11 12 ... 768/768 [=================] - 0 giây 63us/bước - mất. 0. 4817 - acc. 0. 7708 Kỷ nguyên 147/150 768/768 [=================] - 0 giây 63us/bước - mất. 0. 4764 - acc. 0. 7747 Kỷ nguyên 148/150 768/768 [=================] - 0 giây 63us/bước - mất. 0. 4737 - acc. 0. 7682 Kỷ nguyên 149/150 768/768 [=================] - 0 giây 64us/bước - mất. 0. 4730 - acc. 0. 7747 Kỷ nguyên 150/150 768/768 [=================] - 0 giây 63us/bước - mất. 0. 4754 - acc. 0. 7799 768/768 [================] - 0 giây 38us/bước Sự chính xác. 76. 56 Ghi chú. Nếu bạn thử chạy ví dụ này trong sổ ghi chép IPython hoặc Jupyter, bạn có thể gặp lỗi Lý do là thanh tiến trình đầu ra trong quá trình đào tạo. Bạn có thể dễ dàng tắt chúng đi bằng cách đặt verbose=0 trong lệnh gọi hàm fit() và assessment(); 1 2 3 4 5 6 .. . # điều chỉnh mô hình máy ảnh trên tập dữ liệu mà không có thanh tiến trình mô hình. phù hợp(X, y, epochs=150, batch_size=10, verbose=0) # đánh giá mô hình máy ảnh _, độ chính xác = mô hình.đánh giá(X, y, verbose=0) .. . Ghi chú. Kết quả của bạn có thể thay đổi do tính chất ngẫu nhiên của thuật toán hoặc quy trình đánh giá hoặc sự khác biệt về độ chính xác của các con số. Cân nhắc chạy ví dụ một vài lần và so sánh kết quả trung bình Bạn đạt được bao nhiêu điểm? Mạng thần kinh là các thuật toán ngẫu nhiên, nghĩa là cùng một thuật toán trên cùng một dữ liệu có thể đào tạo một mô hình khác với kỹ năng khác nhau mỗi khi mã được chạy. Đây là một tính năng, không phải là một lỗi. Bạn có thể tìm hiểu thêm về điều này trong bài viết
Phương sai trong hiệu suất của mô hình có nghĩa là để có được giá trị gần đúng hợp lý về mức độ hoạt động của mô hình, bạn có thể cần phải điều chỉnh mô hình nhiều lần và tính điểm trung bình của các điểm chính xác. Để biết thêm về phương pháp đánh giá mạng lưới thần kinh này, hãy xem bài đăng
Ví dụ: bên dưới là điểm chính xác từ việc chạy lại ví dụ năm lần 1 2 3 4 5 Sự chính xác. 75. 00 Sự chính xác. 77. 73 Sự chính xác. 77. 60 Sự chính xác. 78. 12 Sự chính xác. 76. 17 Bạn có thể thấy rằng tất cả các điểm chính xác là khoảng 77% và mức trung bình là 76. 924% 7. Dự đoánCâu hỏi số một mà tôi được hỏi là
Câu hỏi tuyệt vời Bạn có thể điều chỉnh ví dụ trên và sử dụng nó để tạo dự đoán trên tập dữ liệu huấn luyện, giả vờ rằng đó là tập dữ liệu mới mà bạn chưa từng thấy trước đây Đưa ra dự đoán dễ dàng như gọi hàm predict() trên mô hình. Bạn đang sử dụng chức năng kích hoạt sigmoid trên lớp đầu ra, vì vậy các dự đoán sẽ là xác suất nằm trong khoảng từ 0 đến 1. Bạn có thể dễ dàng chuyển đổi chúng thành một dự đoán nhị phân chính xác cho nhiệm vụ phân loại này bằng cách làm tròn chúng Ví dụ 1 2 3 4 5 .. . # đưa ra dự đoán xác suất với mô hình dự đoán = mô hình. dự đoán(X) # vòng dự đoán làm tròn = [làm tròn(x[0]) for x in predictions] Ngoài ra, bạn có thể chuyển đổi xác suất thành 0 hoặc 1 để dự đoán trực tiếp các lớp sắc nét; 1 2 3 .. . # đưa ra dự đoán lớp học với mô hình dự đoán = (mô hình. dự đoán(X) > . 5 0.5). kiểu(int) Ví dụ hoàn chỉnh bên dưới đưa ra dự đoán cho từng ví dụ trong tập dữ liệu, sau đó in dữ liệu đầu vào, lớp dự đoán và lớp dự kiến cho năm ví dụ đầu tiên trong tập dữ liệu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # mạng thần kinh đầu tiên có máy ảnh đưa ra dự đoán từ numpy nhập loadtxt từ tensorflow. máy ảnh. mô hình nhập Tuần tự từ tensorflow. máy ảnh. lớp nhập Mật độ # tải tập dữ liệu tập dữ liệu = loadtxt('pima-indians- . csv', dấu phân cách=',') # chia thành các biến đầu vào (X) và đầu ra (y) X = tập dữ liệu[. ,0. 8] y = tập dữ liệu[. ,8] # xác định mô hình máy ảnh mô hình = Tuần tự() mô hình. thêm(Dày đặc(12, input_shape=(8,), activation='relu')) mô hình. thêm(Dày đặc(8, activation='relu')) mô hình. thêm(Dày đặc(1, activation='sigmoid')) # biên dịch mô hình máy ảnh mô hình. biên dịch(mất mát=', optimizer='adam', metrics=['accuracy']) # khớp mô hình máy ảnh trên tập dữ liệu mô hình. phù hợp(X, y, epochs=150, batch_size=10, verbose=0) # đưa ra dự đoán lớp học với mô hình dự đoán = (mô hình. dự đoán(X) > . 5 0.5). kiểu(int) # tóm tắt 5 trường hợp đầu tiên cho i trong phạm vi(5): in('%s => %d (dự kiến %d)' % (X[i].tolist(), dự đoán[i], y[i])) Chạy ví dụ không hiển thị thanh tiến trình như trước, vì đối số dài dòng đã được đặt thành 0 Sau khi mô hình phù hợp, các dự đoán được đưa ra cho tất cả các ví dụ trong tập dữ liệu và các hàng đầu vào cũng như giá trị lớp dự đoán cho năm ví dụ đầu tiên được in và so sánh với giá trị lớp dự kiến Bạn có thể thấy rằng hầu hết các hàng đều được dự đoán chính xác. Trên thực tế, bạn có thể mong đợi khoảng 76. 9% số hàng được dự đoán chính xác dựa trên hiệu suất ước tính của mô hình trong phần trước 1 2 3 4 5 [6. 0, 148. 0, 72. 0, 35. 0, 0. 0, 33. 6, 0. 627, 50. 0] => 0 (dự kiến 1) [1. 0, 85. 0, 66. 0, 29. 0, 0. 0, 26. 6, 0. 351, 31. 0] => 0 (dự kiến là 0) [số 8. 0, 183. 0, 64. 0, 0. 0, 0. 0, 23. 3, 0. 672, 32. 0] => 1 (dự kiến 1) [1. 0, 89. 0, 66. 0, 23. 0, 94. 0, 28. 1, 0. 167, 21. 0] => 0 (dự kiến là 0) [0. 0, 137. 0, 40. 0, 35. 0, 168. 0, 43. 1, 2. 288, 33. 0] => 1 (dự kiến 1) Nếu bạn muốn biết thêm về cách đưa ra dự đoán với các mô hình Keras, hãy xem bài đăng
Tóm tắt hướng dẫn KerasTrong bài đăng này, bạn đã khám phá cách tạo mô hình mạng thần kinh đầu tiên của mình bằng thư viện Keras Python mạnh mẽ để học sâu Cụ thể, bạn đã học sáu bước chính trong việc sử dụng Keras để từng bước tạo một mạng thần kinh hoặc mô hình học sâu, bao gồm
Bạn có bất kỳ câu hỏi nào về Keras hoặc về hướng dẫn này không? Tiện ích mở rộng hướng dẫn KerasTốt lắm, bạn đã phát triển thành công mạng thần kinh đầu tiên của mình bằng thư viện học sâu Keras trong Python |