Skip to content

Commit 7165304

Browse files
committed
add a fucntion to cover a folder to a image classes dataset.
1 parent fa213eb commit 7165304

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

src/TensorFlowNET.Keras/Preprocessings/Preprocessing.image_dataset_from_directory.cs

+1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public IDatasetV2 image_dataset_from_directory(string directory,
5858
if (shuffle)
5959
dataset = dataset.shuffle(batch_size * 8, seed: seed);
6060
dataset = dataset.batch(batch_size);
61+
dataset.class_names = class_name_list;
6162
return dataset;
6263
}
6364

src/TensorFlowNET.Keras/Preprocessings/Preprocessing.paths_and_labels_to_dataset.cs

+25
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,31 @@ namespace Tensorflow.Keras
66
{
77
public partial class Preprocessing
88
{
9+
10+
/// <summary>
11+
/// 图片路径转为数据处理用的dataset
12+
/// </summary>
13+
/// <param name="image_paths"></param>
14+
/// <param name="image_size"></param>
15+
/// <param name="num_channels"></param>
16+
/// <param name="interpolation">
17+
/// 用于调整大小的插值方法。支持`bilinear`、`nearest`、`bicubic`、`area`、`lanczos3`、`lanczos5`、`gaussian`、`mitchellcubic`。
18+
/// 默认为`'bilinear'`。
19+
/// </param>
20+
/// <returns></returns>
21+
public IDatasetV2 paths_to_dataset(string[] image_paths,
22+
Shape image_size,
23+
int num_channels = 3,
24+
int num_classes = 6,
25+
string interpolation = "bilinear")
26+
{
27+
var path_ds = tf.data.Dataset.from_tensor_slices(image_paths);
28+
var img_ds = path_ds.map(x => path_to_image(x, image_size, num_channels, interpolation));
29+
var label_ds = dataset_utils.labels_to_dataset(new int[num_classes] , "", num_classes);
30+
31+
return img_ds;
32+
}
33+
934
public IDatasetV2 paths_and_labels_to_dataset(string[] image_paths,
1035
Shape image_size,
1136
int num_channels,

0 commit comments

Comments
 (0)